Mã hóa URL là gì? Hướng dẫn Toàn diện về Mã hóa Phần trăm
Mã hóa URL, còn được gọi là mã hóa phần trăm, là một cơ chế để mã hóa thông tin trong Định danh Tài nguyên Thống nhất (URI) trong một số trường hợp nhất định. Nó chuyển đổi các ký tự không được phép trong URL thành định dạng an toàn bằng cách sử dụng dấu phần trăm theo sau bởi hai chữ số thập lục phân.
Tại sao Mã hóa URL Tồn tại
Internet được xây dựng trên ASCII, vốn chỉ định nghĩa 128 ký tự. URL phải được truyền tải an toàn qua các hệ thống có thể không xử lý chính xác các ký tự không thuộc ASCII hoặc ký tự đặc biệt. Mã hóa URL đảm bảo rằng bất kỳ ký tự nào — dấu cách, ký tự Unicode hoặc ký hiệu đặc biệt — đều có thể được đưa vào URL một cách an toàn.
Ví dụ:
- Dấu cách →
%20 @→%40你好→%E4%BD%A0%E5%A5%BD
Ký tự Dành riêng và Không dành riêng
RFC 3986 định nghĩa hai loại ký tự trong URL:
Ký tự không dành riêng (không bao giờ cần mã hóa): A-Z a-z 0-9 - _ . ~
Ký tự dành riêng (có ý nghĩa đặc biệt, cần mã hóa khi sử dụng theo nghĩa đen): : / ? # [ ] @ ! $ & ' ( ) * + , ; =
Khi một ký tự dành riêng được dùng làm một phần của dữ liệu thay vì cấu trúc URL, nó phải được mã hóa phần trăm.
Khi nào Nên Sử dụng Mỗi Hàm Mã hóa
- encodeURI: Mã hóa một URL đầy đủ, giữ nguyên các ký tự cấu trúc
- encodeURIComponent: Mã hóa một tham số URL hoặc giá trị thành phần đơn lẻ
Sử dụng sai hàm là một trong những lỗi phổ biến nhất trong phát triển web. Hãy dùng thử công cụ mã hóa/giải mã URL của chúng tôi để thử nghiệm với cả hai chế độ.