HTML hợp lệ để sử dụng IRI có chứa các ký tự không phải ASCII làm giá trị thuộc tính (ví dụ: cho thuộc tính href
) thay vì URI? Có bất kỳ sự khác biệt nào giữa các hương vị HTML (HTML và XHTML, 4 và 5) không? Ít nhất RFC 3986 dường như ngụ ý rằng nó không phải là.IRI có hợp lệ như các giá trị thuộc tính HTML không?
Tôi nhận ra rằng có lẽ sẽ an toàn hơn (liên quan đến phần mềm cũ và không biết) để sử dụng mã hóa phần trăm, nhưng tôi đang tìm câu trả lời cuối cùng liên quan đến tiêu chuẩn. Cho đến nay, tôi đã thực hiện một số thử nghiệm với W3C validator và các ký tự uniccaped unicode trong URI không kích hoạt bất kỳ cảnh báo hoặc lỗi nào với HTML 4/5 và XHTML 4/5 doctypes (nhưng tất nhiên là không có lỗi tin nhắn không ngụ ý sự vắng mặt của các lỗi).
Ít nhất Chrome cũng hỗ trợ IRI UTF-8 thô, nhưng phần trăm thoát chúng trước khi kích hoạt yêu cầu HTTP. Ngoài ra, máy chủ web của tôi (lighttpd) dường như hỗ trợ các ký tự UTF-8 trong phần trăm được mã hóa của chúng cũng như ở dạng không được mã hóa trong một yêu cầu HTTP.
Hãy coi chừng [Mục 1.2 của RFC 3987] (http://tools.ietf.org/html/rfc3987#section-1.2) đề cập đến HTTP như được định nghĩa bởi [RFC 2616] (http: //tools.ietf. org/html/rfc2616) không ** KHÔNG ** hỗ trợ IRIs để xử lý chúng nằm ngoài tiêu chuẩn. Bạn (hoặc trình duyệt của bạn, hoặc ai đó) cần ánh xạ một IRI cụ thể tới một URI trước khi cố gắng truy xuất tài nguyên được tham chiếu. – Oliver
bản sao có thể có của [Ký tự Unicode trong URL] (http://stackoverflow.com/questions/2742852/unicode-characters-in-urls) –