Trong mọi trình duyệt bạn truy cập, bạn sẽ thấy rằng một số trang tự động thêm tiền tố HTTP hoặc HTTPS sau URL của trang web đó. Nếu bạn đang thắc mắc HTTP là gì và tại sao bạn cần nó, hãy đọc bài viết dưới đây của abrahamforgovernor để tìm câu trả lời.
I. HTTP là gì?
![](https://abrahamforgovernor.com/wp-content/uploads/2021/05/Http.jpg)
- HTTP là một giao thức cấp ứng dụng dành cho các hệ thống thông tin đa phương tiện hợp tác, phân tán và là nền tảng của truyền thông dữ liệu cho www (ee internet) từ năm 1990.
- HTTP là chung và không trạng thái, nhưng nó có thể được sử dụng không chỉ cho các phần mở rộng mà còn cho các mục đích khác. Phương thức yêu cầu, mã lỗi và tiêu đề của nó
- Về cơ bản, HTTP là một giao thức truyền thông dựa trên TCP / IP và được sử dụng để cung cấp dữ liệu (tệp HTML, tệp hình ảnh, v.v.) qua WWW. Cổng mặc định là TCP 80, nhưng các cổng khác cũng có sẵn.
- Nó cung cấp một cách thức tiêu chuẩn hóa để các máy tính giao tiếp với nhau. Đặc tả HTTP xác định cách dữ liệu yêu cầu máy khách được xây dựng và gửi đến máy chủ cũng như cách máy chủ phản hồi các yêu cầu này.
II. Các đặc trưng cơ bản của HTTP
- HTTP là một giao thức không kết nối. Ví dụ: nếu một yêu cầu được thực hiện sau khi trình duyệt bắt đầu một yêu cầu HTTP, máy khách sẽ bị ngắt kết nối khỏi máy chủ và chờ phản hồi. Máy chủ xử lý yêu cầu, thiết lập lại kết nối với máy khách và gửi lại phản hồi.
- HTTP độc lập với phương tiện. Điều này có nghĩa là bất kỳ loại dữ liệu nào cũng có thể được gửi qua HTTP miễn là máy chủ và máy khách biết cách kiểm soát nội dung dữ liệu. Máy khách và máy chủ phải sử dụng kiểu MIME thích hợp để xác định kiểu nội dung.
- HTTP là không trạng thái: như đã đề cập trước đó, HTTP không có kết nối và là kết quả trực tiếp của việc HTTP trở thành một giao thức không trạng thái.
- Máy chủ và máy khách chỉ nhận ra nhau trong yêu cầu hiện tại. Sau đó, họ hoàn toàn quên mất nhau. Do bản chất của giao thức, cả máy khách và trình duyệt đều có thể giữ thông tin giữa các yêu cầu khác nhau giữa các trang web.
III. Mức độ bảo mật của HTTP
![](https://abrahamforgovernor.com/wp-content/uploads/2021/05/muc-do-bao-mat.jpg)
- Khi khách hàng truy cập vào một trang web, giao thức HTTP sẽ giúp xác minh danh tính của trang web đó thông qua việc kiểm tra chứng chỉ bảo mật.
- Các chứng chỉ bảo mật này được cung cấp và xác thực bởi Tổ chức phát hành chứng chỉ (CA). Đây là tổ chức cấp chứng chỉ cho các loại chứng chỉ số khác nhau cho người dùng, công ty, máy chủ, mã nguồn và phần mềm. Các tổ chức này hoạt động như các bên thứ ba đáng tin cậy của cả hai bên để tạo điều kiện trao đổi thông tin an toàn.
- Trong trường hợp HTTP, dữ liệu không được xác thực một cách an toàn, vì vậy không có gì đảm bảo rằng phiên đang bị “nghe trộm” hoặc nó đang cung cấp thông tin cho một trang web thật hay giả mạo.
IV. Các khía cạnh cơ bản của HTTP
1. HTTP đơn giản
- HTTP thường được thiết kế để đơn giản và con người có thể đọc được, ngay cả khi http/2 làm tăng độ phức tạp bằng cách đóng gói các thông điệp HTTP trong các khung.
- Thông báo HTTP giúp nhà phát triển dễ dàng đọc và hiểu, cải thiện khả năng kiểm tra của nhà phát triển và giảm độ phức tạp cho người mới bắt đầu.
2. HTTP có thể mở rộng
- Được giới thiệu trong HTTP/1.0 giúp dễ dàng mở rộng giao thức để thử nghiệm thêm. Các tính năng mới cũng có thể được giới thiệu thông qua một thỏa thuận đơn giản giữa máy khách và máy chủ về ngữ nghĩa của tiêu đề mới.
3. HTTP là stateless, nhưng không sessionless
- Không có liên kết giữa hai yêu cầu liên tiếp được thực hiện trên cùng một kết nối. Điều này có thể nhanh chóng trở thành vấn đề đối với những người dùng cố gắng làm việc với các trang nhất định theo cách nhất quán, chẳng hạn như sử dụng giỏ hàng trên các trang thương mại điện tử.
- Tuy nhiên, trong khi bản thân HTTP về cơ bản là không trạng thái, thì cookie HTTP cho phép bạn sử dụng các phiên trạng thái. Khả năng mở rộng tiêu đề cho phép cookie HTTP được thêm vào quy trình làm việc và các phiên có thể được tạo với mỗi yêu cầu HTTP để chia sẻ cùng một ngữ cảnh hoặc trạng thái.
V. Kết nối của HTTP
![](https://abrahamforgovernor.com/wp-content/uploads/2021/05/ket-noi-cua-http.jpeg)
- Kết nối được kiểm soát ở lớp truyền tải, vì vậy về cơ bản nó nằm ngoài phạm vi của HTTP. HTTP không nhất thiết phải dựa trên kết nối với giao thức truyền tải cơ bản, mà chỉ là nó đáng tin cậy hoặc không làm mất thông báo (hoặc ít nhất là báo cáo lỗi).
- Trong số hai giao thức truyền tải phổ biến nhất trên Internet, TCP là đáng tin cậy và UDP là không đáng tin cậy. Do đó, HTTP dựa trên tiêu chuẩn TCP dựa trên kết nối.
- Kết nối TCP phải được thiết lập trước khi máy khách và máy chủ có thể trao đổi các cặp yêu cầu và phản hồi http. Đây là một quá trình yêu cầu một số vòng lặp. Hành vi mặc định của HTTP/1.0 là mở một kết nối TCP riêng biệt cho từng cặp yêu cầu và phản hồi HTTP.
- Điều này làm cho nó kém hiệu quả hơn so với việc chia sẻ một kết nối TCP khi nhiều yêu cầu được gửi liên tiếp.
VI. Cấu trúc cơ bản của HTTP
- Giao thức HTTP là một giao thức yêu cầu/phản hồi dựa trên kiến trúc máy khách/máy chủ, trong đó trình duyệt web, công cụ tìm kiếm, v.v. hoạt động như một máy khách và một máy chủ web hoạt động như một máy chủ.
- Máy khách gửi yêu cầu đến máy chủ dưới dạng phương thức yêu cầu, URI và phiên bản giao thức, sau đó là thông báo MIME với các bộ định tính yêu cầu, thông tin máy khách và nội dung đối tượng có thể có thông qua kết nối TCP/IP.
- Máy chủ phản hồi bằng dòng trạng thái chứa phiên bản giao thức của thông báo và mã thành công hoặc thất bại, theo sau là thông báo MIME chứa thông tin máy chủ, thông tin thực thể phương tiện và nội dung đối tượng.
Bài viết này giúp bạn tìm hiểu về giao thức HTTP là gì? Việc bảo mật thông tin khi sử dụng HTTP chắc chắn giúp các trang web trở nên an toàn và hấp dẫn hơn trong mắt người dùng. Theo dõi trang để tìm hiểu về CPU là gì nhé!