Ma hoa URL
Ma hoa & giai ma URL
Đầu vào
Kết quả
Mã hóa URL là gì?
URL chỉ có thể chứa chữ cái, số và một số ký tự đặc biệt nhất định. Các ký tự như khoảng trắng, ký tự không phải ASCII và ký hiệu đặc biệt phải được chuyển đổi sang định dạng %XX. Đây gọi là mã hóa phần trăm.
Tại sao mã hóa URL là cần thiết
URL tuân theo chuẩn RFC 3986 và chỉ cho phép ký tự chữ và số cùng một số ký tự đặc biệt (-._~). Khi khoảng trắng, ký tự không phải Latin hoặc ký hiệu đặc biệt xuất hiện trong URL, máy chủ có thể không giải thích đúng. Các ký tự như & và = dùng làm dấu phân cách tham số truy vấn, nên chúng phải được mã hóa khi xuất hiện trong dữ liệu thực tế. Mã hóa URL là cơ chế cơ bản đảm bảo truyền dữ liệu đáng tin cậy trên web.
Các ký tự thường được mã hóa
Khoảng trắng được mã hóa thành %20 hoặc +, dấu & thành %26, dấu = thành %3D và dấu ? thành %3F. Các ký tự không phải ASCII như tiếng Việt có dấu được mã hóa theo UTF-8, tạo ra nhiều chuỗi %XX cho mỗi ký tự. Dấu gạch chéo (/) là dấu phân cách đường dẫn và chỉ nên mã hóa trong giá trị tham số. Hiểu các quy tắc này giúp ngăn ngừa lỗi liên quan đến URL.
Thực hành tốt nhất về mã hóa URL cho lập trình viên
Chỉ mã hóa giá trị tham số truy vấn, không phải toàn bộ cấu trúc URL. Trong JavaScript, dùng encodeURIComponent() cho giá trị và encodeURI() cho URL đầy đủ. Trong Python, dùng urllib.parse.quote(). Mã hóa kép, khi chuỗi đã mã hóa bị mã hóa lại, là lỗi thường gặp cần tránh. Luôn áp dụng mã hóa cho giá trị tham số trong yêu cầu API vì chúng có thể chứa ký tự đặc biệt.