Hành vi đúng mong đợi của POST => 302 chuyển hướng đến GET là gì?Hành vi đúng mong đợi của chuyển hướng HTTP POST => 302 là GET là gì?
Trong chrome (và hầu hết mọi trình duyệt), sau I POST (tài nguyên muốn tôi chuyển hướng) và tôi nhận được chuyển hướng 302, trình duyệt tự động phát hành GET ở vị trí 302. Đây thậm chí là well known pattern. Nhưng cách tôi đọc spec, có vẻ như đề nghị điều này không nên xảy ra.
Nếu mã 302 trạng thái được nhận để đáp ứng với yêu cầu khác hơn GET hoặc HEAD, user agent PHẢI KHÔNG tự động chuyển hướng các yêu cầu trừ khi nó có thể được xác nhận bởi người dùng, vì điều này có thể thay đổi các điều kiện theo đó yêu cầu được đưa ra.
Và cáy đang hiển thị:
REQUEST 1: POST URLA
RESPONSE 1: 302 redirect to URLB
REQUEST 2: GET URLB
Phần dường như trên để nói rằng trình duyệt không nên thực hiện các yêu cầu GET? Tôi đang thiếu gì?
- Something trước đó trong spec mà làm cho phần này không liên quan
- sự hiểu biết của tôi về tự động chuyển hướng là sai (và trình duyệt chrome mà đã làm các GET đã không thực sự tự động chuyển hướng)
- sự hiểu biết của tôi về xác nhận điều này với tư cách là người dùng
- Cái gì khác?
abarnet: xin vui lòng làm rõ những gì bạn có ý nghĩa bởi "trình duyệt cũ". –
@JulianReschke: Tôi không biết chính xác. Nếu tôi đã đoán, tôi đoán cổ điển là khoảng IE6 và FF 1.9. Nhưng hãy nhớ rằng các trình duyệt trên máy tính để bàn (và các trình duyệt di động WebKit) không phải là các tác nhân người dùng duy nhất trên mạng; có rất nhiều người sử dụng các thiết bị khác có trình duyệt trong đó, khách hàng dịch vụ web được mã hóa bằng tay hoặc công cụ cạo, v.v. – abarnert
@JulianReschke: Ngoài ra, tôi nên đề cập rằng 303 và 307 chỉ có trong HTTP/1.1. Có rất nhiều máy chủ và lưu trữ trên đó (và một số tác nhân người dùng) không thể xử lý 1.1 hoặc vô hiệu hóa nó. Trong khi đó, tôi chỉ tìm thấy [bài đăng trên blog] (http://blogs.msdn.com/b/ieinternals/archive/2011/08/19/understanding-the-impact-of-redirect-response-status-codes-on- http-methods-like-head-get-post-and-delete.aspx) từ nhóm IE có vẻ phù hợp. – abarnert