URL encoding là gì?

Khi thiết kế internet, các nhà khoa học máy tính đã sử dụng bảng mã US-ASCII. Đây là bảng mã 7 bit chỉ chứa 126 kí tự. Bảng mã này có thể hiển thị các chữ cái tiếng Anh rất tốt nhưng khó có thể hiển thị đầy đủ các loại ngôn ngữ khác như tiếng Việt, tiếng Latin ...

Nhận thấy sự bất cập của các kí tự ASCII các nhà thiết kế URL đã thêm kĩ thuật mã hóa URL (URL encoding).

Url encoding là quá trình chuyển các kí tự đặc biệt thành các kí tự ASCII.

Các loại kí tự đặc biệt:

Kí tự điều khiển: các kí tự điều khiển, hoặc các kí tự không hiển thị được như ctrl+ a, ctrl+ c v.v

Kí tự dự trữ: những kí tự như “$, +, /, :, ; @...”, đây là những kí tự có ý nghĩa đặc biệt trong url, nên nếu được sử dụng trên đường dẫn nó phải được encode.

Những kí tự không an toàn: như khoảng trống, ngoặc kép, {, }, / … Những kí tự này thường được sử dụng trong lập trình. Và dễ gây hiểu lầm, do vậy nó cần được mã hóa thành kí tự ASCII

Kí tự thuộc các ngôn ngữ khác: như Việt Nam, Hàn Quốc, Trung quốc….

Ví dụ:

URL của hội thánh đức chúa trời, khi hiển thị trên chrome.

Url Encoding

Url Encoding

URL thực tế:

https://www.facebook.com/TH%C3%81NH-%C4%90%E1%BB%A8C-CH%C3%9AA-TR%E1%BB%9CI-193254684731838/

Bạn có thể thấy các kí tự tiếng việt đã bị thay đổi.

Á => %C3%81
Đ => %C4%90
...

Tại sao lại là ASCII?

ASCII (American Standard Code for Information Interchange - Chuẩn mã trao đổi thông tin Hoa Kỳ) được các nhà khoa học chọn làm bản mã tiêu chuẩn cho URL một phần vì họ là người Mĩ. Nhưng phần lớn là vì đây là bảng mã phổ biến nhất thời bấy giờ, nó được chấp nhận và sử dụng rộng rãi ở khắp nơi. Sử dụng bảng mã này sẽ đảm bảo URL có thể được truyền tải an toàn qua nhiều giao thức khác nhau.

Các môn học khác

Khóa học này cung cấp cho ta kiến thức nền tảng về công nghệ Blockchain, Bitcoin. Vì sao nó được gọi là công nghệ của tương lai, vì sao giá Bitcoin lại cao đến vậy. Làm sao để mua Bitcoin, ETH.

C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java.

Chương trình thường được xây dựng quanh dữ liệu và logic để xử lý chúng. Nói cách khác: Program = Cấu trúc dữ liệu + giải thuật. Do vậy đây là môn học bắt buộc dành cho các lập trình viên.