tooliv

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.

Câu hỏi thường gặp

Tại sao cần mã hóa URL?

Các ký tự đặc biệt trong URL (khoảng trắng, &, = v.v.) cần được mã hóa để giải thích đúng.

Mã hóa phần trăm là gì?

Ký tự được thay thế bằng %XX với XX là giá trị thập lục phân.

Có nên mã hóa toàn bộ URL không?

Không, chỉ mã hóa giá trị tham số, không phải cấu trúc URL.

Công cụ liên quan