Mã hóa URL (còn được gọi là mã hóa phần trăm) là quá trình chuyển đổi các ký tự đặc biệt thành định dạng có thể sử dụng an toàn trong URL. Nó thay thế các ký tự không được phép trong URL (chẳng hạn như khoảng trắng, dấu câu hoặc ký tự không phải ASCII) bằng dấu phần trăm (%) theo sau là hai chữ số thập lục phân biểu thị mã ASCII của ký tự.
Ví dụ: khoảng trắng được mã hóa thành %20 và dấu hai chấm (:) có thể được mã hóa thành %3A.
Để đảm bảo rằng các ký tự đặc biệt trong URL (như khoảng trắng, dấu chấm hỏi, dấu gạch chéo và dấu &) được biểu diễn đúng mà không làm hỏng cấu trúc URL.
Để mã hóa các ký tự không phải ASCII (như các chữ cái có dấu hoặc các ký tự từ bảng chữ cái không phải tiếng Latinh) để đảm bảo khả năng tương thích với các hệ thống chỉ hỗ trợ ASCII.
Để mã hóa tham số truy vấn trong URL để chúng được phân tích cú pháp chính xác bởi máy chủ web và trình duyệt.
Để ngăn chặn việc thao túng dữ liệu độc hại trong URL bằng cách mã hóa các ký tự có khả năng gây nguy hiểm.
Mã hóa URL thường được thực hiện bằng các hàm tích hợp trong hầu hết các ngôn ngữ lập trình.
Trong JavaScript, bạn có thể sử dụng encodeURIComponent() hoặc encodeURI().
Trong Python, bạn có thể sử dụng urllib.parse.quote() hoặc urllib.parse.quote_plus().
Nó thay thế các ký tự không an toàn trong URL (chẳng hạn như khoảng trắng, &, =, #) với các giá trị được mã hóa tương ứng của chúng.
Ví dụ:
encodeURIComponent("Hello World!") sẽ trả về "Hello%20World%21".
Khi mã hóa tham số truy vấn hoặc dữ liệu biểu mẫu trong URL, chẳng hạn như trong các yêu cầu HTTP GET.
Khi nhúng các ký tự đặc biệt (như dấu cách, dấu gạch chéo hoặc ký tự không phải ASCII) vào URL, đặc biệt là khi tương tác với API hoặc dịch vụ web.
Khi xây dựng URL theo cách thủ công và đảm bảo rằng các ký tự như =, & hoặc ? không can thiệp vào cấu trúc URL.
Khi tạo URL ngắn hoặc liên kết được mã hóa cần được chia sẻ ở định dạng dễ đọc và an toàn.