Tôi có một câu hỏi liên quan đến URL:URL có // trong phần đường dẫn có hợp lệ không?
Tôi đã đọc các RFC 3986 và vẫn có một câu hỏi về một URL:
Nếu một URI có chứa một thành phần chính quyền, sau đó các thành phần đường dẫn
phải hoặc trống hoặc bắt đầu bằng ký tự gạch chéo ("/"). Nếu URI không chứa thành phần có thẩm quyền thì đường dẫn không thể bắt đầu
với hai ký tự gạch chéo ("//"). Ngoài ra, tham chiếu URI
(Phần 4.1) có thể là tham chiếu đường dẫn tương đối, trong trường hợp này,
đoạn đường dẫn đầu tiên không được chứa ký tự đại tràng (":"). ABNF
yêu cầu năm quy tắc riêng biệt để phân biệt các trường hợp này, chỉ một trong số sẽ phù hợp với chuỗi con đường dẫn trong một tham chiếu URI đã cho. Chúng tôi sử dụng cụm từ chung "thành phần đường dẫn" để mô tả chuỗi con URI
được trình phân tích cú pháp khớp với một trong các quy tắc này.
tôi biết, rằng //server.com:80/path/info
là hợp lệ (đó là một URL có liên quan schema)
tôi cũng biết rằng http://server.com:80/path//info
là hợp lệ.
Nhưng tôi không chắc chắn liệu một Sau đây là hợp lệ:
http://server.com:80//path/info
Vấn đề đằng sau câu hỏi của tôi là, rằng một cookie không được gửi đến http://server.com:80//path/info
, khi tạo ra bởi URI http://server.com:80/path/info
với hạn chế để /path
Vì vậy, đây là lỗi trình duyệt, rằng cookie cho // đường dẫn không được gửi đến/path? –
@Christian không phải là lỗi, '// path' khác với'/path' như '/ foo/path' và' /// path'. Có một "thư mục con" không có tên trong '// path', có giá trị.Vì vậy, nếu bạn thiết lập một cookie cho '// path', nó không thể được đọc từ'/path', cũng như cách khác. :) – CodeCaster
Âm thanh hợp pháp. Tôi nghĩ rằng tôi sẽ đợi một hoặc hai ngày, nếu có một câu trả lời hoặc ý kiến khác và chấp nhận câu trả lời nếu không. –