Giới thiệu Mã Hóa & Giải Mã URL (URL Encoder / Decoder)
URL Encoding (Percent-encoding) là gì?
URL Encoding (hay còn gọi là Percent-encoding) là cơ chế mã hóa các ký tự đặc biệt hoặc các ký tự không thuộc bảng mã ASCII chuẩn trong một đường dẫn (URL) thành định dạng mà các máy chủ web có thể hiểu được một cách an toàn.
Nó được thực hiện bằng cách thay thế các ký tự không an toàn bằng một dấu phần trăm % theo sau là hai chữ số thập lục phân. Ví dụ: Dấu cách (Space) sẽ bị mã hóa thành %20.
Các ký tự nào bắt buộc phải mã hóa trong URL?
Trong cấu trúc một URL, có những "Ký tự dành riêng" (Reserved Characters) đóng vai trò đặc biệt như:
- Dấu
?để bắt đầu Query String. - Dấu
&để ngăn cách các tham số. - Dấu
=để gán giá trị. Nếu bản thân dữ liệu bạn gửi đi có chứa các ký tự này (Ví dụ: Tên công ty làA & B), bạn BẮT BUỘC phải mã hóa chữ&thành%26. Nếu không, máy chủ sẽ hiểu lầm đó là điểm cắt của tham số khác, dẫn đến mất dữ liệu hoặc gây lỗi 400 Bad Request.
Sự khác biệt giữa encodeURI và encodeURIComponent trong Javascript
Khi lập trình JS, có 2 hàm mã hóa:
- encodeURI(): Dùng để mã hóa TOÀN BỘ đường dẫn URL. Nó sẽ BỎ QUA không mã hóa các ký tự dành riêng như
? / : @ & =. - encodeURIComponent(): Dùng để mã hóa TỪNG PHẦN GIÁ TRỊ (Values) của tham số. Nó sẽ mã hóa toàn bộ mọi ký tự đặc biệt. Công cụ URL Encoder của chúng tôi sử dụng cơ chế này để đảm bảo dữ liệu của bạn an toàn 100%.