HTTP là gì ? Thông tin cơ bản cho người dùng Internet

0
105

HTTP là chữ viết tắt của HyperText Transfer Protocol hay giao thức truyền tải siêu văn bản – cung cấp một giao thức mạng tiêu chuẩn mà các trình duyệt web và máy chủ sử dụng để giao tiếp. Rất dễ dàng nhận biết khi truy cập vào một trang web nào đó bởi vì nó được xuất hiện ngay trong URL.

HTTP hoạt động dựa trên mô hình Client – Server. Trong mô hình này, các máy tính của người dùng sẽ đóng vai trò làm máy khách (Client). Sau một thao tác nào đó của người dùng, các máy khách sẽ gửi yêu cầu đến máy chủ (Server) và chờ đợi câu trả lời từ những máy chủ này. Để có thể giao tiếp được với nhau, các máy chủ và máy khách phải thực hiện việc trao đổi thông qua các giao thức. Một trong những giao thức được sử dụng thường xuyên nhất chính là HTTP.

Giao thức này tương tự như các giao thức khác chẳng hạn như FTP. Trong trường hợp của HTTP, thường trình duyệt web sẽ yêu cầu tệp HTML từ máy chủ web, sau đó hiển thị trong trình duyệt bằng văn bản, hình ảnh, siêu liên kết, v.v.

Khi bạn nhập một địa chỉ Web nào đó vào thanh tìm kiếm trên trình duyệt Web, một lệnh HTTP ngay lập tức sẽ gửi tới máy chủ web để yêu cầu và trả về dữ liệu của trang web đó. Trang web này sau đó sẽ được mở trên trình duyệt Web. Nói đơn giản hơn, HTTP là giao thức dùng cho việc truyền tải dữ liệu từ máy chủ web đến trình duyệt web. Ngay khi trình duyệt web của bạn gửi yêu cầu và máy chủ đã phản hồi thành công yêu cầu từ bạn với trang web đó, kết nối sẽ bị đóng.

Vì hầu hết trình duyệt web mặc định là HTTP, bạn chỉ cần gõ tên miền và các trình duyệt sẽ tự động thêm vào “http: //”.

Lịch sử HTTP

Tim Berners-Lee là người đã tạo ra HTTP đầu tiên vào đầu những năm 1990 như là một phần của công trình của ông trong việc xác định nguồn gốc World Wide Web. Ba phiên bản chính đã được triển khai rộng rãi trong những năm 1990:

HTTP 0.9 (hỗ trợ tài liệu siêu văn bản Hypertext)
HTTP 1.0 (hỗ trợ các trang web hiện đại và phạm vi mở rộng)
HTTP 1.1 (được phát triển để giải quyết các hạn chế hiệu suất của HTTP 1.0, cụ thể là trong Internet RFC 2068)

Phiên bản mới nhất, HTTP 2.0, trở thành một tiêu chuẩn được chấp nhận vào năm 2015. Nó duy trì tính tương thích ngược với HTTP 1.1 nhưng cung cấp các cải tiến hiệu suất bổ sung.

Vì tiêu chuẩn HTTP không mã hóa lưu lượng được gửi qua mạng, tiêu chuẩn HTTPS đã được phát triển để thêm mã hóa vào HTTP thông qua việc sử dụng Secure Sockets Layer (SSL) hoặc Transport Layer Security (TLS).

Các máy khách và máy chủ giao tiếp với nhau qua các yêu cầu HTTP và các thông báo phản hồi. Ba loại thông báo HTTP chính là GET, POST, và HEAD.

  • Các thông báo HTTP GET được gửi tới máy chủ chỉ chứa một URL. Tham số dữ liệu tùy chọn có thể được thêm vào cuối URL và sau đó, máy chủ xử lý phần dữ liệu của URL đó nếu có, và trả về kết quả (một trang web hoặc một phần của trang web) vào trình duyệt.
  • Thông báo HTTP POST: đặt bất kỳ tham số dữ liệu tùy chọn nào vào phần thân của thư yêu cầu thay vì thêm chúng vào cuối URL.
  • Yêu cầu HTTP HEAD hoạt động giống như yêu cầu GET. Thay vì trả lời nội dung đầy đủ của URL, máy chủ chỉ gửi lại thông tin phần đầu (chứa bên trong phần HTML).

Trình duyệt khởi tạo giao tiếp với máy chủ HTTP bằng cách khởi tạo kết nối TCP tới máy chủ. Các phiên duyệt web sử dụng cổng máy chủ mặc định 80 mặc dù các cổng khác như 8080 đôi khi được sử dụng thay thế.

Các vấn đề với HTTP

  • Lỗi người dùng
  • Sự cố của trình duyệt web hoặc máy chủ web
  • Lỗi trong việc tạo ra các trang web
  • Bảo trì mạng tạm thời

Khi các lỗi này xảy ra, giao thức HTTP này ghi lại nguyên nhân của sự cố (nếu có thể) và báo cáo mã lỗi trở lại trình duyệt được gọi là mã phản hồi tiêu chuẩn HTTP. Lỗi bắt đầu với một con số nhất định để chỉ ra loại lỗi đó nghĩa là gì (404, 401, 403,…).