Bảo quản trường hợp
URL được bảo quản trường hợp , giữa máy khách và máy chủ. Nhưng các phần của URL có thể hoặc không phân biệt chữ hoa chữ thường , tùy thuộc vào máy chủ, vì một vài lý do.
Độ nhạy trường hợp
Các phần in đậm sau đây của URL có thể phân biệt chữ hoa chữ thường, tùy thuộc vào cấu hình trang web và / hoặc máy chủ.
http: // www. example.com /abc/def.ghi?jkl=mno#pqr
người sử dụng @ example.com
Cơ sở lý luận
Phân biệt chữ hoa chữ thường trong URL có thể có một số cách sử dụng. Chủ yếu:
- Khả năng tương thích với các hệ thống tập tin phân biệt chữ hoa chữ thường.
- Mã hóa dữ liệu nhỏ gọn hơn trong các URL, chẳng hạn như để tuần tự hóa, băm, ID, permalinks và rút ngắn URL.
Là một nhà phát triển, tôi tin rằng những điều trên thường có thể được xử lý theo những cách tốt hơn, nhưng tôi cũng hiểu có những trường hợp tình huống có thể không cho phép điều này.
Ví dụ: hãy tưởng tượng một sản phẩm hiện có yêu cầu nhiều dữ liệu được đặt trong URL "NHẬN", nhưng nó phải tương thích với độ dài URL tối đa của tất cả các máy chủ, trình duyệt và cơ chế bộ đệm / proxy chính. Để phù hợp với một chuỗi lệnh có độ dài vừa phải (dưới 1.024 ký tự cho một số trình duyệt cũ hơn), bạn cần sử dụng mọi ký tự an toàn URL duy nhất bạn có thể (về cơ bản là mã hóa base64url).
Trong một thế giới lý tưởng
Hay không URL nên được trường hợp nhạy cảm là gây tranh cãi. Cá nhân tôi tin rằng họ không nên đơn giản (mặc dù có thể tạo các URL dài hơn, chúng tôi có phần trăm thoát để dễ dàng xử lý các trường hợp chúng tôi phải đảm bảo giữ nguyên các ký tự chính xác và có nhiều cách để truyền dữ liệu ngoài quyền trong URL) .
Nhiều người dường như đồng ý dựa trên thực tế là các URL không phân biệt chữ hoa chữ thường được kích hoạt rõ ràng cho nhiều trang web và dịch vụ phổ biến, nhằm tăng khả năng sử dụng. Ví dụ nổi bật nhất là phần tên người dùng của địa chỉ email. Hầu hết các nhà cung cấp email sẽ bỏ qua trường hợp và đôi khi cả các dấu chấm và các ký hiệu khác (như "j.smith@example.com" giống như "JSMITH@example.com"). Mặc dù tên người dùng email được phân biệt chữ hoa chữ thường theo mặc định, theo thông số kỹ thuật.
Tuy nhiên, thực tế là bất chấp những gì tôi hoặc người khác có thể muốn, đây là trạng thái của mọi thứ hiện đang hoạt động. Và mặc dù việc chuyển đổi trên toàn thế giới thành một tiêu chuẩn URL không phân biệt chữ hoa là điều chắc chắn có thể xảy ra, có thể sẽ mất khá nhiều thời gian vì độ nhạy trường hợp hiện đang được sử dụng rộng rãi trên web cho các mục đích khác nhau.
Thực hành tốt nhất
Theo như các thực tiễn tốt nhất, với tư cách là một người dùng, bạn có thể sử dụng hợp lý chữ thường trong hầu hết các tình huống và mong muốn mọi thứ hoạt động. Các ngoại lệ chính sẽ là các URL sử dụng đường dẫn tài liệu hoặc mã hóa dựa trên trường hợp với các tương đương hệ thống tệp trực tiếp. Tuy nhiên, các URL phức tạp như vậy thường được sao chép (hoặc nhấp đơn giản) thay vì nhập thủ công.
Là một nhà phát triển web, bạn nên xem xét việc giữ các URL không phân biệt chữ hoa chữ thường nhất có thể. Mặc dù rõ ràng có một số tình huống khó tránh, tùy thuộc vào bối cảnh, như đã lưu ý ở trên.