2010-08-25 32 views
5

Đây là câu hỏi dành cho nhà phát triển trình cắm và proxy.Hướng dẫn và phương pháp hay nhất để tạo trang web thân thiện với proxy

Tư duy thông thường khi nói đến các trang web cụ thể là "Chúng thực hiện các thay đổi làm hỏng plugin của chúng tôi; chúng tôi thay đổi logic để làm cho nó hoạt động trở lại".

Nhưng, điều gì sẽ xảy ra nếu phía bên kia cũng lo lắng về điều này? Nếu chúng tôi muốn biên soạn một tập hợp các nguyên tắc và phương pháp hay nhất để phát triển trang web cho một trang web thân thiện với proxy, bạn đề xuất nên làm gì với nó? Hãy suy nghĩ về các loại hạt khó khăn bạn đã phải crack. Bạn có nhớ những khoảnh khắc bạn muốn nhà phát triển trang web đã thực hiện một tính năng nhất định khác nhau không? Làm sao?

Vì điều này liên quan đến mã hóa, tôi không nghĩ rằng nó nên đi đến serverfault.

Edit: Sau khi đọc comment Pekka của tôi cảm thấy tôi cần thêm một số thông tin cơ bản.

Có các tập lệnh proxy web ngoài đó như glype và PHProxy. Do kịch bản phải đối phó với nhiều điều kiện không xác định nên nó không phục vụ được nhiều trang web. Bởi vì số lượng các trang web như vậy là áp đảo nó không có ý nghĩa để cố gắng làm cho logic nội bộ của proxy đủ tinh vi để xử lý sự đa dạng lớn này. Đây là nơi các plugin có ích. Kịch bản chính hoặc cơ sở triển khai cơ chế gọi mã plugin trên cơ sở mỗi trang web. Vì vậy, nếu proxy không phục vụ giả sử facebook.com, đó là trường hợp bằng cách này, một lập trình viên quan tâm đến thử thách thực hiện một số nghiên cứu và gỡ lỗi, để tìm nơi và tại sao chuỗi bị hỏng và những gì nên được thực hiện để giải quyết vấn đề. Các coder thực hiện sửa chữa của mình như là một plugin cho trang web cụ thể và người dùng có thể thả các plugin vào thư mục plugins của họ.

Nhưng nó cũng sẽ xảy ra rằng một cái gì đó trên trang web thay đổi, và sự thay đổi đó gây ra các plugin để phá vỡ một lần nữa. Vì vậy, nó là một trận đấu liên tục để bắt kịp với những thay đổi gần đây nhất của một trang web. Sự trớ trêu của tình huống là nhiều nhà phát triển trang web không biết và cũng không quan tâm đến tác động mà quyết định thiết kế của họ có thể có trên khả năng phân phát proxy của nội dung. Nhưng một số trang web có lý do chính đáng để quan tâm đến khả năng của khách truy cập để truy cập nội dung của họ thông qua proxy. Không muốn đi vào chính trị ở đây, vì vậy tôi để nó cho bạn để đoán tại sao điều này có thể quan trọng đối với một số trang web.

Câu hỏi này là một nỗ lực để khai thác vào những kiến ​​thức tập thể và kinh nghiệm của proxy và plugin của tác giả để tạo ra một tập hợp các nguyên tắc để tạo trang web proxy thân thiện.

Tôi không thẻ php câu hỏi ban đầu vì nó chủ yếu là mối quan tâm sản phẩm của một trang web, không phải là cách bạn tạo ra nó. Nhưng đã quyết định gắn thẻ nó như vậy, bởi vì nó sẽ cải thiện khả năng hiển thị của câu hỏi và thẻ có thể được biện minh trên cơ sở đối tượng mục tiêu là tốt. Tôi đang làm cho cộng đồng wiki này cũng vậy, vì vậy nếu bạn cảm thấy thẻ php nên được loại bỏ, chỉ cần làm như vậy.

+0

Có thể chỉ là tôi, nhưng tôi không biết bạn đang nói về cái gì: Plugin proxy là gì? Một kịch bản cơ bản là gì? (Một lần nữa, có thể đây là một lĩnh vực mà tôi không biết, trong trường hợp này tôi xin lỗi.) –

+0

@Pekka - Cảm ơn bạn đã chỉ ra điều đó. Tôi đã thêm một số thông tin để làm rõ. –

+0

Chủ đề rất thú vị và quan tâm đến nhiều người. Tuy nhiên, tôi nghĩ bây giờ, với lời giải thích bổ sung (tốt), nó có thể chứa quá nhiều văn bản để tạo sự chú ý. Tôi sẽ tập trung nhiều hơn vào các câu hỏi trọng tâm và cắt bỏ nội bộ khỏi quá trình phát triển: Đó là điều mà những người có kiến ​​thức sẽ đưa ra, dù sao đi nữa. (Nếu họ tìm thấy câu hỏi - một câu hỏi như thế này là * chết tiệt * khó gắn thẻ, bởi vì proxy không bao giờ được * viết * bằng cách sử dụng các công nghệ mà họ liên quan ... tôi sẽ thêm http và có thể là Apache vào danh sách, có thể là tên của một vài sản phẩm proxy hàng đầu) –

Trả lời

1

Đây là một câu hỏi thú vị và tôi không nghĩ rằng có một giải pháp chung tốt. Về cơ bản bạn muốn nội dung trang web của bạn có thể được biến đổi bởi một số bên thứ ba mà bạn không có quyền kiểm soát và có thể không có kiến ​​thức về các phép biến đổi.

Cách truyền thống vấn đề này được giải quyết là do có một API công bố cho phép các bên thứ ba để truy vấn dữ liệu mà họ muốn trong một cách có kiểm soát mà không dựa vào màn hình nạo. API thường sẽ chỉ hiển thị một tập con của chức năng, thường là do trang web yêu cầu người dùng xem các trang để tạo doanh thu quảng cáo (hoặc một số loại doanh thu khác).

Bạn có thể tạo các trang rất đơn giản, có hiệu lực sử dụng API HTML và sử dụng Javascript và CSS để làm cho các trang thân thiện với người dùng hơn. Tuy nhiên, điều này có thể không phù hợp với hầu hết các trang web. Tuy nhiên, cách tiếp cận "nâng cao tiến bộ" được jQuery thêm vào và những người khác là cùng một dòng: phục vụ nội dung cơ bản, ngữ nghĩa và thêm chức năng và sự lôi cuốn thông qua JS và CSS.

Bạn có thể sử dụng microformats để làm cho nội dung trang nhất định dễ truy cập hơn. Bạn nên sử dụng HTML ngữ nghĩa và đặt nhiều lớp và id trên các phần tử trang để các tác giả plugin có thể tìm thấy nội dung có liên quan mà họ cần.

Nó cho tôi thấy rằng bất kể những proxy này sẽ cần phải tìm hiểu cách phân tích các trang của bạn ít nhất một lần. Bạn có thể ghi lại quy trình (có thể phát hành một hoặc hai plugin).

Tôi không nghĩ bạn sẽ có thể tránh buộc các tác giả plugin phải viết lại mã khi bạn phát hành phiên bản mới của trang web của mình. Bạn có thể tạo chính sách có giai đoạn beta, nơi cả phiên bản cũ và mới của trang web đều có sẵn và điều này sẽ cung cấp cho tác giả plugin cơ hội cập nhật plugin của họ mà không bị gián đoạn dịch vụ cho người dùng của họ.

+0

Điều này chủ yếu là đúng cho các tình huống là chúng tôi muốn làm cho nội dung của chúng tôi có sẵn để tự động tháo dỡ và chia lưới. Mục đích của các proxy trên web (còn gọi là proxy ẩn danh) không lấy bit từ nội dung của chúng tôi, chúng ở đó để cung cấp một cánh cửa bên cạnh nội dung không có sẵn cho người xem. Như vậy, họ cố gắng cung cấp cùng một dữ liệu mà họ nhận được người dùng proxy. Nhưng đề nghị cuối cùng (giai đoạn beta) là một gợi ý tốt. –

+0

Tôi cần tiền thưởng của tôi cho một câu hỏi khác, và tôi nghĩ rằng đây là câu trả lời tốt nhất chúng tôi sẽ nhận được :) Bắt này, ông Shiny và mới :) –

+0

@Litso: Cảm ơn :) –

1

Tôi không chắc liệu điều này có liên quan đến bạn hay không, nhưng hiện tại tôi chỉ nhớ hai điều cần được quan tâm khi làm việc trên một trang web thân thiện với proxy. Một là tiêu đề có thể ảnh hưởng đến các trang web được truy cập sau proxy và một là phát hiện IP. Tiêu đề kiểm soát bộ nhớ cache (công khai/riêng tư) và tiêu đề khác có thể ảnh hưởng đến tốc độ và quyền riêng tư của người dùng. IP phát hiện có thể của proxy và không phải của người dùng. Vì vậy, những điều này nên được lưu giữ trong tâm trí.

Các vấn đề liên quan