HTTP là gì?

Tác giả Network Engineer, T.Mười 02, 2022, 09:02:41 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

HTTP là gì?


Nếu bạn có con mắt tinh tường khi nhìn vào các địa chỉ web trên thanh trên cùng của trình duyệt, có thể bạn sẽ nhận thấy phần đầu tiên của địa chỉ trang web bất kỳ, các chữ cái "HTTP" hoặc "HTTPS". Tuy nhiên, HTTP là gì và nó hoạt động như thế nào? Hãy cùng xem chất keo giữ web với nhau.


1. HTTP: Phiên bản Ngắn gọn

HTTP là một từ viết tắt và là viết tắt của h yper t ext t ransfer p rotocol. Hãy chia nhỏ điều đó một chút, bắt đầu với phần "giao thức". Trong công nghệ, một giao thức là tập hợp các quy tắc mà máy móc cần tuân thủ để "nói chuyện" với nhau. Ví dụ: giao thức VPN xác định cách VPN tương tác với máy chủ. HTTP ít cụ thể hơn nhiều và thay vào đó đặt ra các quy tắc về cách thức hoạt động của Internet.

Đây không phải là cường điệu. Nếu không có HTTP, sẽ không có thông tin liên lạc qua world wide web. Điều này là do HTTP chi phối giao tiếp giữa máy chủ web và máy khách web — phần "chuyển giao". Máy chủ web là nơi bạn kết nối để có thể xem các trang web; ví dụ: bạn hiện đang liên hệ với máy chủ web của VietNetwork để bạn có thể đọc bài viết này.

Để truy cập một máy chủ web, bạn cần một ứng dụng khách web. Hầu hết thời gian, ứng dụng khách này là trình duyệt của bạn, nhưng nó có thể là bất kỳ loại ứng dụng nào, thực sự. Ví dụ: nếu bạn nhấp qua bài viết này từ ứng dụng Facebook dành cho thiết bị di động, thì trình duyệt trong ứng dụng của Facebook là ứng dụng khách web của bạn. Tương tác giữa máy khách và máy chủ là yếu tố mà toàn bộ internet tổng hợp lại và HTTP là một phần không thể thiếu cho điều đó.

Phần cuối cùng của từ viết tắt HTTP là phần "siêu văn bản", là loại tệp được truyền, hầu như luôn luôn thông qua các tệp HTML. Các loại tệp này là khối xây dựng của web vì chúng không chỉ hiển thị ngôn ngữ mà còn có thể được liên kết với nhau. Điều này khác với các loại tệp bạn có trên thiết bị của mình, thường không thể làm được điều đó.

2. Cách thức hoạt động của HTTP trong Nutshell

HTTP là một giao thức chạy trên cái gọi là lớp ứng dụng của internet, bên trên lớp internet, nơi mà các thành phần thực sự của web giống như địa chỉ IP. Lớp ứng dụng là nơi bạn sẽ tìm thấy các trình duyệt và ứng dụng mà bạn sử dụng hàng ngày và HTTP là một phần rất quan trọng trong đó.

Cách hoạt động là trình duyệt của bạn, ứng dụng khách, sẽ gửi một yêu cầu HTTP qua mạng, được xử lý bởi máy chủ của trang web bạn muốn truy cập. Sau đó, trang web sẽ gửi lại phản hồi HTTP, tức là — nếu mọi thứ diễn ra tốt đẹp — trang bạn muốn xem. Sau đó, trình duyệt sẽ hiển thị phản hồi.

2.1. Chia nhỏ các yêu cầu HTTP

Tất nhiên, có nhiều thứ hơn thế. Một yêu cầu HTTP thực sự được tạo thành từ một số phần, mỗi phần đều đóng một phần quan trọng trong cách trang web được hiển thị. Trong số các phần quan trọng nhất của bất kỳ yêu cầu nào là phương thức HTTP, tiêu đề yêu cầu và nội dung yêu cầu.

Phương thức này thường là hành động mà HTTP đang được yêu cầu thực hiện, do đó, truy xuất thông tin hoặc cung cấp thông tin (lệnh "GET" và "POST" tương ứng, mặc dù có rất nhiều lệnh khác). Tiêu đề yêu cầu HTML khó giải thích hơn một chút, nhưng hãy nghĩ về chúng như phong bì: mỗi tiêu đề chứa địa chỉ nơi nó sẽ đến, địa chỉ của người gửi, cộng với một loạt thông tin khác, chẳng hạn như loại hộp thư (trình duyệt) và cả thông tin về mã hóa.

Phần thân HTML "lấp đầy" phong bì với thông tin như thông tin đăng nhập hoặc bất kỳ thông tin nào khác mà máy chủ cần biết để hiển thị trang; đôi khi nó trống và phong bì, tiêu đề yêu cầu, là đủ.

2.2. Phản hồi HTTP

Với yêu cầu nhận được, máy chủ web bây giờ bắt đầu hoạt động trên phản hồi của nó, cũng được tạo thành từ ba phần: mã trạng thái HTTP, tiêu đề phản hồi và nội dung phản hồi. Phần đầu và phần nội dung giống như các đối tác của chúng trong các yêu cầu, ngoại trừ phần nội dung sẽ chứa nhiều thông tin hơn trở lại, giống như các tệp mang thông tin để hiển thị một trang web.

Các mã trạng thái là một liên lạc thú vị, vì tất cả chúng ta có thể đã gặp chúng mà không nhận ra chúng là gì. Chúng là ba chữ số có thể bắt đầu bằng số 1 đến số 5. Mỗi dãy số là viết tắt của một cái gì đó. Vì vậy, bất kỳ mã gồm ba chữ số nào bắt đầu bằng 2 có nghĩa là thành công (trang được hiển thị mà không có vấn đề gì), trong khi một mã bắt đầu bằng 4 có nghĩa là lỗi, như mã 404 nổi tiếng: không tìm thấy trang.

Hệ thống gọi và trả lời này là cơ sở cho mọi thứ chúng tôi làm trên internet. Mặc dù nó phức tạp hơn những gì chúng tôi mô tả ở trên, nhưng điều này bao gồm những điều cơ bản. Tất nhiên, có một vấn đề là làm thế nào để tất cả thông tin liên lạc này được giữ an toàn.

3. Bảo mật HTTP

Đây là lúc chúng tôi gặp phải vấn đề với HTTP: không có bất kỳ thông tin nào được mã hóa hoặc bảo vệ theo bất kỳ cách nào. Nó hoàn toàn là yêu cầu và nhận, không có bước bảo mật nào được thêm vào. Bất kỳ ai có thể chặn tin nhắn đều có thể xem những gì đang được gửi, bao gồm những thứ như số thẻ tín dụng hoặc thông tin tài khoản.

Theo một cách nào đó, nó giống như khi bạn nói chuyện với một người hàng xóm qua hàng rào ngăn cách tài sản của bạn: mỗi người ở trong khu vực của riêng mình, nhưng nếu ai đó đứng đủ gần, họ có thể nghe thấy mọi từ bạn đang nói.

Như bạn có thể tưởng tượng, đây là một tin cực kỳ xấu đối với hầu hết người dùng internet và là một tin cực kỳ tốt cho những người săn đón họ. Để khắc phục điều này, một loại HTTP mới đã được triển khai, được gọi là HTTPS, trong đó chữ "S" cuối cùng là viết tắt của "an toàn". Loại HTTP này mã hóa thông tin, khiến mọi người khó nghe hơn, có thể nói như vậy.

Hiện tại, ngày càng ít phổ biến hơn khi thấy những gì được gọi là HTTP "đơn giản" ở bất cứ đâu vì trong vài năm qua, hầu hết mọi trang web đáng được đề cập đều đã chuyển sang HTTPS. Có một số người — vì những lý do khác nhau tùy thuộc vào chủ sở hữu trang web — đã chống lại sự thay đổi này. Bạn có thể muốn tránh xa chúng hoặc ít nhất là sử dụng VPN để bảo vệ mọi thông tin nhạy cảm.

Điều đó nói lên rằng, mặc dù HTTPS chắc chắn là một bản nâng cấp quan trọng, nhưng đó chỉ là một bản nâng cấp. HTTP đã cung cấp năng lượng cho Internet kể từ khi nó bắt đầu và chúng tôi nghi ngờ điều đó sẽ sớm thay đổi.