Cập nhật 2014-Jun-27 :
RFC 7231, Giao thức truyền siêu văn bản (HTTP / 1.1): Ngữ nghĩa và nội dung , đã được xuất bản dưới dạng TIÊU CHUẨN ĐỀ XUẤT. Từ Changelog :
Cú pháp của trường tiêu đề Vị trí đã được thay đổi để cho phép tất cả các tham chiếu URI, bao gồm các tham chiếu và đoạn tương đối, cùng với một số giải thích về việc sử dụng các đoạn sẽ không phù hợp. (Mục 7.1.2)
Những điểm quan trọng từ Mục 7.1.2. Địa điểm :
Nếu giá trị Vị trí được cung cấp trong phản hồi 3xx (Chuyển hướng) không có thành phần phân đoạn, tác nhân người dùng PHẢI xử lý chuyển hướng như thể giá trị kế thừa thành phần phân đoạn của tham chiếu URI được sử dụng để tạo mục tiêu yêu cầu (nghĩa là chuyển hướng kế thừa đoạn tham chiếu ban đầu, nếu có).
Ví dụ: một yêu cầu GET được tạo cho tham chiếu URI " http://www.example.org/~tim " có thể dẫn đến phản hồi 303 (Xem Khác) có chứa trường tiêu đề:
Location: /People.html#tim
trong đó gợi ý rằng tác nhân người dùng chuyển hướng đến " http://www.example.org/P People.html # tim "
Tương tự, một yêu cầu GET được tạo cho tham chiếu URI " http://www.example.org/index.html#larry " có thể dẫn đến phản hồi 301 (Đã di chuyển vĩnh viễn) có chứa trường tiêu đề:
Location: http://www.example.net/index.html
trong đó gợi ý rằng tác nhân người dùng chuyển hướng đến " http://www.example.net/index.html#larry ", giữ nguyên định danh phân đoạn gốc.
Điều này sẽ trả lời rõ ràng câu hỏi của bạn.
Cập nhật KẾT THÚC
đây là một vấn đề mở (không được chỉ định) với đặc tả HTTP hiện tại . nó được giải quyết trong 2 vấn đề của nhóm làm việc http : IETF :
# 6 cho phép các đoạn trong Location
tiêu đề. # 43 nói điều này:
Tôi chỉ thử nghiệm điều này với các trình duyệt khác nhau.
- Firefox và Safari sử dụng đoạn trong tiêu đề vị trí.
- Opera sử dụng đoạn từ URI nguồn, khi có mặt, nếu không thì đoạn từ vị trí chuyển hướng
- IE (8) bỏ qua đoạn trong URI vị trí, do đó sẽ sử dụng đoạn từ URI nguồn, khi có mặt
Đề nghị:
"Lưu ý: hành vi khi số nhận dạng phân đoạn từ URI gốc và chuyển hướng cần được kết hợp là không xác định; Đại lý người dùng hiện tại thực sự khác nhau về phân đoạn được ưu tiên."
[...]
Dường như IE8 không sử dụng idenfitier đoạn từ Location
(hành vi của tôi cưa có thể được giới hạn ở localhost).
Do đó, chúng tôi dường như có hành vi nhất quán đối với Safari / IE / Firefox / Chrome (vừa được thử nghiệm), trong đó đoạn từ tiêu đề Vị trí được sử dụng, bất kể URI ban đầu là gì.
Vì vậy, tôi thay đổi đề nghị của tôi để tài liệu đó như hành vi mong đợi.
điều này dẫn đến bằng chứng tương thích nhất với trình duyệt và tương lai (vì vấn đề này cuối cùng sẽ được chuẩn hóa) cho câu hỏi của bạn:
A: các đoạn từ URL gốc bị loại bỏ.
B: các mảnh từ Location
tiêu đề được vinh danh.