2013-01-03 27 views
17

Bản nháp IETF RFC The Hypertext Transfer Protocol (HTTP) Status Code 308 (Permanent Redirect) xác định trạng thái HTTP 308 là Chuyển hướng vĩnh viễn. Tất nhiên, cần lưu ý rằng đây là một tài liệu dự thảo và chứa trong tiêu đề tài liệu văn bản "Hết hạn: ngày 27 tháng 9 năm 2012", mà tôi cho là có nghĩa là nó được coi là không hợp lệ, nhưng tôi không quen Các quy trình của IETF và do đó không cảm thấy tự tin về điều này.Thỏa thuận với mã trạng thái HTTP 308 là gì?

Các bài viết Wikipedia List of HTTP status codes sử dụng định nghĩa này của 308, cũng:

308 Permanent Redirect (đã được phê duyệt như thực nghiệm RFC) [12]

Các yêu cầu, và tất cả tương lai yêu cầu phải được lặp lại bằng cách sử dụng một URI khác. 307 và 308 (như được đề xuất) song song với các hành vi của 302 và 301, nhưng không cho phép phương thức HTTP thay đổi. Vì vậy, ví dụ, việc gửi biểu mẫu tới tài nguyên được chuyển hướng vĩnh viễn có thể tiếp tục diễn ra suôn sẻ.

...

[12]: "The Hypertext Transfer Protocol (HTTP) Status Code 308 (Permanent Redirect)". IETF. 2012. Truy cập ngày 27 tháng 3 năm 2012.

Eric Law, của Microsoft tại thời điểm đó, nhận xét về mã HTTP/308 này trong Pushing the Web Forward with HTTP/308. Điều đó khiến tôi phát hiện ra rằng Firefox hỗ trợ 308 theo nghĩa này.

Tuy nhiên, khi tôi đang tìm kiếm trong thư viện , tôi phát hiện ra rằng có một cách sử dụng của 308:

308: ('resume_incomplete', 'resume'), 

Điều này dường như đến từ một Google Gears resumable HTTP requests proposal định 308 Resume Incomplete. Dường như có một số cách sử dụng đó. Tất nhiên, cả hai đề xuất này đều không thừa nhận sự tồn tại của người khác.

Vậy điều gì đang xảy ra? 308 Permanent Redirect có còn sống không? Điều gì đang xảy ra với mã trạng thái 308? Tôi nên làm gì?

+0

Bạn có yêu cầu, từ góc độ máy chủ hay không, nếu bạn nên * phát hành * 308 (và nếu có, trong hoàn cảnh nào) hoặc từ góc độ người tiêu dùng, bạn nên * phản ứng * như thế nào 308? –

+0

@Damien_The_Unbeliever: câu hỏi chủ yếu là tự hỏi điều gì đang xảy ra với nó, có ý nghĩa không, * có thể * Tôi sử dụng hợp lý nó. Trong trường hợp cụ thể của tôi, tôi đang đối phó với quan điểm của khách hàng, mong muốn thực hiện tương lai và thực hiện chính xác vấn đề này và các vấn đề liên quan, nhưng tôi cũng đang tìm kiếm thông tin tổng quát hơn để cố thu thập nó một chút - không có nhiều nó trên web. –

Trả lời

4

Dự thảo Internet chưa hết hạn (vì nó đã được phê duyệt trước khi hết hạn). Xem https://datatracker.ietf.org/doc/draft-reschke-http-status-308/http://www.rfc-editor.org/queue2.html#draft-reschke-http-status-308 cho trạng thái xuất bản hiện tại.

+0

Vì vậy, điều đó có nghĩa là nó đã được phê duyệt nhưng đang treo xung quanh chờ đợi cho các biên tập viên để có được nó? Điều đó có ý nghĩa gì về 308 trong thời gian đó? Việc sử dụng nó như Chuyển hướng vĩnh viễn sẽ là "không hợp lệ"? Sau đó, chính xác thì những gì được chấp nhận là một * RFC * thử nghiệm * nghĩa là gì? –

+2

Nó được chấp thuận và đó là mã trạng thái đã đăng ký. Nó chỉ là RFC sẽ không được công bố cho đến khi các tài liệu khác mà nó tham chiếu. –

1

Vui lòng xem bình luận của Chris Morgan bên dưới về câu hỏi này (câu trả lời gốc của tôi được đề cập đến http://insanecoding.blogspot.co.il/2014/02/http-308-incompetence-expected.html?m=1 nhưng tham chiếu của Chris là tốt hơn nhiều).

Chỉ để biết được mức độ 308 chưa đi, hãy xem mã HTTP được định nghĩa trong .NET framework của Microsoft V4 (http://msdn.microsoft.com/en-us/library/system.net.httpstatuscode(v=vs.110).aspx) liệt kê HttpStatusCode). Cụ thể, không đề cập đến mã 308.

+2

https://news.ycombinator.com/item?id=7249193 có những nhận xét hay về bài viết — bài viết có ý nghĩa tốt nhưng bản thân nó không hiểu hết hoàn cảnh. –

+1

307 hiện nằm trong bài viết msdn mà bạn đã liên kết, nhưng vẫn không phải là 308 –