HTTP - Tổng quan
Giao thức truyền siêu văn bản (HTTP) là một giao thức cấp ứng dụng cho các hệ thống thông tin siêu phương tiện phân tán, cộng tác. Đây là nền tảng cho giao tiếp dữ liệu cho World Wide Web (tức là internet) từ năm 1990. HTTP là một giao thức chung và không trạng thái có thể được sử dụng cho các mục đích khác cũng như sử dụng các phần mở rộng của cá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, được sử dụng để cung cấp dữ liệu (tệp HTML, tệp hình ảnh, kết quả truy vấn, v.v.) trên World Wide Web. Cổng mặc định là TCP 80, nhưng các cổng khác cũng có thể được sử dụng. 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 chỉ định cách dữ liệu yêu cầu của khách hàng sẽ đượ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.
Tính năng cơ bản
Có ba tính năng cơ bản làm cho HTTP trở thành một giao thức đơn giản nhưng mạnh mẽ:
HTTP is connectionless:Máy khách HTTP, tức là một trình duyệt khởi tạo một yêu cầu HTTP và sau khi một yêu cầu được thực hiện, máy khách sẽ đợi phản hồi. Máy chủ xử lý yêu cầu và gửi lại phản hồi sau đó máy khách ngắt kết nối. Vì vậy máy khách và máy chủ chỉ biết về nhau trong khi yêu cầu và phản hồi hiện tại. Các yêu cầu khác được thực hiện trên kết nối mới như máy khách và máy chủ mới đối với nhau.
HTTP is media independent:Nó có nghĩa là, bất kỳ loại dữ liệu nào cũng có thể được gửi bằng HTTP miễn là cả máy khách và máy chủ đều biết cách xử lý nội dung dữ liệu. Máy khách cũng như máy chủ được yêu cầu chỉ định kiểu nội dung bằng kiểu MIME thích hợp.
HTTP is stateless:Như đã đề cập ở trên, HTTP là không kết nối và nó là kết quả trực tiếp của việc HTTP là một giao thức không trạng thái. Máy chủ và máy khách chỉ biết về nhau khi có yêu cầu hiện tại. Sau đó, cả hai người đều quên nhau. Do tính chất này của giao thức, cả máy khách và trình duyệt đều không thể lưu giữ thông tin giữa các yêu cầu khác nhau trên các trang web.
HTTP / 1.0 sử dụng một kết nối mới cho mỗi trao đổi yêu cầu / phản hồi, trong đó kết nối HTTP / 1.1 có thể được sử dụng cho một hoặc nhiều trao đổi yêu cầu / phản hồi.
Kiến trúc cơ bản
Sơ đồ sau đây cho thấy một kiến trúc rất cơ bản của một ứng dụng web và mô tả vị trí 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 dựa trên máy khách / máy chủ trong đó trình duyệt web, rô bốt và công cụ tìm kiếm, v.v. hoạt động giống như máy khách HTTP và máy chủ Web hoạt động như một máy chủ.
Khách hàng
Máy khách HTTP gửi một 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, theo sau là một thông báo giống MIME chứa các công cụ sửa đổi yêu cầu, thông tin máy khách và nội dung cơ thể có thể có qua kết nối TCP / IP.
Người phục vụ
Máy chủ HTTP phản hồi bằng một dòng trạng thái, bao gồm phiên bản giao thức của thông báo và mã thành công hoặc lỗi, sau đó là thông báo giống MIME chứa thông tin máy chủ, thông tin meta thực thể và nội dung cơ thể thực thể có thể có.