Những ký tự đặc biệt nào an toàn để sử dụng trong url?
Những ký tự đặc biệt nào an toàn để sử dụng trong url?
Câu trả lời:
Các ký tự an toàn là az, AZ, 0-9 và _ - (gạch dưới và trừ), bên cạnh các ký tự dành riêng được sử dụng cho các tham số.
Các nhân vật khác sẽ đưa ra vấn đề ở một mức độ nào đó. ví dụ: nếu một tham số là một mảng?param=array[content]
tức là sẽ hiển thị một url làm trắng dấu ngoặc vuông được mã hóa, trông xấu và không thể đọc được.
Nhưng vấn đề không chỉ là nó xấu, giả sử bạn có jpg với một nhân vật bên cạnh những nhân vật an toàn hơn, nhiều lần trình duyệt sẽ không thể tải xuống khi nhận được 404. Đây là vấn đề của trình duyệt cũ và một số trình duyệt di động.
Làm thế nào để kiểm tra điều này?
Tôi có một hộp thư đến với 14000 email chứng minh quan điểm của mình.
Các ký tự sau có ý nghĩa đặc biệt trong thành phần đường dẫn của URL của bạn (thành phần đường dẫn là tất cả mọi thứ trước '?'):
";" | "/" | "?"
Ngoài những ký tự đó, các ký tự sau có ý nghĩa đặc biệt trong phần truy vấn của URL của bạn (mọi thứ sau '?'). Do đó, nếu họ theo sau '?' bạn cần phải thoát khỏi chúng:
":" | "@" | "&" | "=" | "+" | "$" | ","
Để được giải thích sâu hơn, xem RFC .
Các câu trả lời ở đây là tốt, nhưng có một ngoại lệ nữa tôi nghĩ là đáng nói - các nhân vật không phải tiếng Anh. Tham khảo câu hỏi SF này tại đây , các ký tự như ñ (như trong Español) là hoàn toàn hợp pháp, NẾU chúng đã được mã hóa chính xác trong DNS của bạn.
Bạn phải sử dụng Punycode trong DNS của mình để giải quyết chúng trong các trình duyệt hiện đại (mục nhập cho đặc biệt là xn--espaol-zwa
) nhưng giờ đây chúng hoàn toàn an toàn để sử dụng trong các tên miền, vì chúng cũng dễ dàng cho những người không nói tiếng Anh gõ .