HTTP là gì? Cách vận hành của HTTP như thế nào? | TopDev

http là gì? Khi chúng ta sử dụng trình duyệt để truy cập internet, có lẽ quen thuộc nhất là http. Có thể bạn đã biết khi nhìn thấy URL bắt đầu bằng http: // hoặc https: //.

Hôm nay, qua bài viết này, topdev sẽ giới thiệu với các bạn những kiến ​​thức cơ bản về http.

http là gì?

http là từ viết tắt của giao thức truyền siêu văn bản , có nghĩa là giao thức truyền siêu văn bản được sử dụng trong www . http là một giao thức để lấy các tài nguyên như html doc.

Đây là nền tảng của bất kỳ trao đổi dữ liệu nào trên mạng và là giao thức giữa máy khách (thường là trình duyệt hoặc bất kỳ loại thiết bị hoặc chương trình nào) và máy chủ (thường là máy tính). trên đám mây). Một tài liệu hoàn chỉnh được xây dựng lại từ các tài liệu con khác nhau được trích xuất, chẳng hạn như văn bản, mô tả bố cục, hình ảnh, video, tập lệnh, v.v.

Được thiết kế ban đầu vào những năm 90, http là một giao thức có thể mở rộng đã phát triển theo thời gian. Giao thức lớp ứng dụng được gửi qua nền tảng tcp / ip hoặc qua kết nối tcp được mã hóa tls. Mặc dù về lý thuyết, bất kỳ giao thức truyền tải đáng tin cậy nào cũng có thể được sử dụng.

Do khả năng mở rộng của nó, http không chỉ được sử dụng để tìm nạp tài liệu siêu văn bản mà còn để tìm nạp hình ảnh và video hoặc tải nội dung lên máy chủ, giống như biểu mẫu results.html. http cũng có thể được sử dụng để tìm nạp một phần tài liệu nhằm cập nhật các trang web theo yêu cầu.

Các khía cạnh cơ bản của http

http là gì? http là một giao thức đơn giản nhưng mạnh mẽ nhờ các tính năng cơ bản sau.

http:

đơn giản

http thường được thiết kế để đơn giản và dễ đọc, mặc dù có thêm sự phức tạp trong http / 2 bằng cách đóng gói các thông điệp http vào các khung. Với thông báo http, chúng tôi có thể đọc và hiểu, cung cấp nhiều khả năng kiểm tra hơn cho các nhà phát triển và ít phức tạp hơn cho bất kỳ người mới nào.

http có thể mở rộng:

Các tiêu đề http được giới thiệu trong http / 1.0 giúp giao thức dễ dàng mở rộng và thử nghiệm thêm. Chức năng mới thậm chí 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.

http là không trạng thái, nhưng không phải là không phiên:

Không có liên kết nào giữa 2 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ể trở thành vấn đề ngay lập tức đối với những người dùng đang cố gắng tương tác với các trang nhất định một cách mạch lạc, chẳng hạn như sử dụng giỏ hàng trên một trang thương mại điện tử.

Mặc dù bản thân http là phi trạng thái ở cốt lõi của nó, cookie http cho phép sử dụng các phiên trạng thái. Sử dụng khả năng mở rộng tiêu đề, thêm cookie http vào quy trình làm việc cho phép các phiên được tạo trên mọi yêu cầu http để chia sẻ cùng một ngữ cảnh hoặc trạng thái.

Cấu trúc cơ bản của http

Qua hình bên dưới, bạn sẽ thấy cấu trúc ứng dụng web khá đơn giản và mô tả cụ thể vị trí của http là gì:

Giao thức http là gì? http cũng là một giao thức yêu cầu-phản hồi dựa trên cấu trúc máy khách-máy chủ. Máy khách và máy chủ giao tiếp với nhau bằng cách trao đổi các thông điệp độc lập chứ không phải một luồng dữ liệu duy nhất. Thư do ứng dụng khách (thường là trình duyệt web) gửi được gọi là yêu cầu và thư do máy chủ gửi để phản hồi được gọi là phản hồi strong>.

Bạn có thể tìm hiểu thêm về mã trạng thái http – mã trạng thái http và tìm hiểu thêm về danh sách mã trạng thái http để tìm hiểu thêm về > Yêu cầu Phản hồi tại đây .

Kết nối http

1 Các kết nối được kiểm soát ở lớp truyền tải, vì vậy về cơ bản nằm ngoài phạm vi của http. Mặc dù http không yêu cầu giao thức truyền tải cơ bản phải dựa trên kết nối, nhưng nó chỉ yêu cầu nó phải đáng tin cậy hoặc không bị mất thông báo (ít nhất là 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, trong khi udp thì không. Do đó, http dựa trên tiêu chuẩn tcp dựa trên kết nối.

Trước khi máy khách và máy chủ có thể trao đổi cặp yêu cầu-phản hồi http, chúng phải thiết lập kết nối tcp, một quá trình đòi hỏi nhiều chu kỳ. Hành vi mặc định của http / 1.0 là mở 1 kết nối tcp riêng biệt cho mỗi cặp yêu cầu-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 gửi nhiều yêu cầu liên tiếp.

Để giảm thiểu lỗ hổng này, http / 1.1 đã giới thiệu pipelining (nhưng tỏ ra khó triển khai) và các kết nối liên tục: kết nối tcp bên dưới có thể được kiểm soát một phần bằng cách sử dụng các tiêu đề kết nối. http / 2 tiến thêm một bước nữa bằng cách nối các tin nhắn trên một kết nối duy nhất, giúp giữ cho các kết nối ổn định và hiệu quả hơn.

Các thử nghiệm đang được tiến hành để thiết kế các giao thức truyền tải tốt hơn cho http. Ví dụ: Google đang thử nghiệm quic dựa trên udp để cung cấp một giao thức truyền tải đáng tin cậy và hiệu quả hơn.

Phát triển hàng đầu

Bạn có thể quan tâm:

  • Tìm hiểu thêm về http / 3 và so sánh nó với http2
  • Sử dụng ứng dụng khách http v4 góc cạnh
  • Tìm hiểu thêm với Pigeon https
  • Xem thêm các công việc thú vị dành cho nhà phát triển trên topdev

Related Articles

Back to top button