6

Chúng tôi đang triển khai dịch vụ url ngắn nơi mục tiêu chuyển hướng sẽ thay đổi hàng ngày. Các url sẽ được truy cập bởi các thiết bị di động và sẽ luôn là các yêu cầu GET. Tôi đang cố gắng hiểu đó là chuyển hướng 300 loại tốt nhất cho công việc.Sử dụng chuyển hướng 301/303/307 cho các url ngắn động

AFAIK hầu hết các dịch vụ rút ngắn url sử dụng chuyển hướng 301 (Đã di chuyển vĩnh viễn). Tuy nhiên, theo các thông số kỹ thuật, chuyển hướng 303 (Xem khác) và 307 (Chuyển sang tạm thời) có vẻ như được thiết kế cho trường hợp của chúng tôi ...

  • 303/307 cũng được hỗ trợ 301? Các thông số kỹ thuật nói rằng chúng chỉ được thực hiện trong HTTP 1.1 - những hạn chế nào mà chính tả đó?
  • Có bất kỳ lưu ý thực tế hoặc hiệu quả hoạt động nào của việc chọn 301 so với 303/307 hay không.
  • Đối với yêu cầu GET, có bất kỳ lý do nào để chọn 303 so với 307 không?
  • Có lý do nào để sử dụng chuyển hướng 302 không?
  • Bất kỳ điều gì khác cần xem xét?

Trả lời

5

303/307 cũng được hỗ trợ là 301? Các thông số kỹ thuật nói rằng chúng chỉ được thực hiện trong HTTP 1.1 - những hạn chế nào mà chính tả đó?

Có/Không.

Có bất kỳ lưu ý bộ nhớ đệm hoặc hiệu suất thực tế nào khi chọn 301 so với 303/307 hay không.

Tôi không nghĩ vậy.

Đối với yêu cầu GET, có lý do nào để chọn 303 so với 307 không?

303 có ngữ nghĩa khác 307. Nếu tài nguyên được yêu cầu là "ở một nơi khác", thì 303 không phải là câu trả lời đúng.

Có lý do nào để sử dụng chuyển hướng 302 không?

Không thực sự, theo như tôi có thể nói. Nó có cùng ngữ nghĩa như 307, nhưng UA có thể viết lại một yêu cầu POST để GET.

Mọi thứ khác cần xem xét?

Xem http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p2-semantics-18.html#status.3xx

+0

cảm ơn. Vì vậy, có vẻ như những tác động thực tế duy nhất của việc chọn 301 so với 307 là cách xếp hạng trang được chuyển- Bạn có đồng ý với điều đó không? – Yarin

+0

Yarin - hy vọng chúng được xử lý như nhau. Nhưng làm sao tôi biết được? –

1

Lý do mà url rút ngắn sử dụng dịch vụ 301 (vĩnh viễn) là:

  • Nó không giữ thứ hạng trang của url đích.
  • Url đích không thay đổi (khi bạn nói bit.ly/url1 chuyển hướng đến example.com/url1, bạn không thể sửa đổi nó để chuyển hướng đến example.com/url2).

Tất cả 302, 303 và 307 là chuyển hướng tạm thời và chỉ đơn giản là không thực hiện công việc.Ngoại trừ việc nếu bạn muốn thay đổi url đích, bạn có thể sử dụng 302. Ví dụ: example.com/contact chuyển hướng đến example.com/temp/contact nhưng bạn dự định thay thế bằng cách example.com/v2/contact sau.

+0

jcisio- bạn đang trả lời là không rõ ràng. "Tất cả 302, 303 và 307 là chuyển hướng tạm thời và chỉ đơn giản là không thực hiện công việc" - Không làm gì * công việc gì? Họ thực hiện một chuyển hướng, vì vậy những gì * công việc * là bạn đề cập đến? – Yarin

+1

"Công việc" là dịch vụ rút ngắn URL mà bạn đang nói đến. Một dịch vụ như vậy không phải là một chuyển hướng URL đơn giản, có những ràng buộc. Những contraints? Họ đang ở trong câu trả lời của tôi. – jcisio

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