Hypertext Transfer Protocol (HTTP) cung cấp một tiêu chuẩn giao thức mạng mà trình duyệt web và máy chủ sử dụng để giao tiếp. Bạn thấy HTTP mỗi ngày bởi vì khi bạn truy cập một trang web, giao thức được viết ngay trong URL.
Giao thức này tương tự như giao thức truyền file ở chỗ, nó được chương trình máy khách sử dụng để yêu cầu các file từ máy chủ từ xa. Trong trường hợp HTTP, thường là một trình duyệt web yêu cầu các file HTML từ máy chủ web, sau đó hiển thị trong trình duyệt với văn bản, hình ảnh, siêu liên kết và các asset liên quan.
Vì các trình duyệt theo mặc định giao tiếp bằng HTTP, bạn thường có thể bỏ giao thức khỏi URL khi nhập vào thanh địa chỉ của trình duyệt.
Để tìm hiểu sâu hơn, vui lòng tham khảo bài viết: HTTP là gì?
Cách thức hoạt động của HTTP
HTTP là một giao thức lớp ứng dụng được xây dựng dựa trên TCP, sử dụng mô hình giao tiếp giữa máy khách (client) và máy chủ (server). Máy khách và máy chủ HTTP giao tiếp thông qua các tin nhắn yêu cầu và phản hồi. 3 loại thông báo HTTP chính là GET, POST và HEAD.
- HTTP GET - Tin nhắn được gửi đến máy chủ chỉ chứa một URL. Không hoặc nhiều tham số dữ liệu tùy chọn có thể được thêm vào cuối URL. Máy chủ xử lý phần dữ liệu tùy chọn của URL, nếu có và trả kết quả (một trang web hoặc thành phần của trang web) cho trình duyệt.
- HTTP POST - Tin nhắn đặt bất kỳ tham số dữ liệu tùy chọn nào trong phần thân của thông báo yêu cầu, thay vì thêm chúng vào cuối URL.
- HTTP HEAD - Các yêu cầu hoạt động giống như GET. Thay vì trả lời với đầy đủ nội dung của URL, máy chủ chỉ gửi lại thông tin tiêu đề (có trong phần HTML).
Trình duyệt bắt đầu giao tiếp với máy chủ HTTP bằng cách bắt đầu kết nối TCP đến máy chủ. Các phiên duyệt web sử dụng cổng máy chủ 80 theo mặc định, mặc dù các cổng khác như 8080 đôi khi cũng được sử dụng thay thế.
Sau khi phiên được thiết lập, bạn kích hoạt gửi và nhận tin nhắn HTTP bằng cách truy cập trang web.
HTTP là hệ thống phi trạng thái (stateless system). Điều này có nghĩa là không giống như các giao thức truyền file khác như FTP, kết nối HTTP bị hủy sau khi yêu cầu được hoàn thành. Vì vậy, sau khi trình duyệt web gửi yêu cầu và máy chủ phản hồi với trang, kết nối sẽ bị đóng.
Xử lý sự cố HTTP
Tin nhắn được truyền qua HTTP không thành công vì một số lý do:
- Lỗi người dùng
- Trục trặc của trình duyệt web hoặc máy chủ web
- Lỗi khi tạo trang web
- Sự cố mạng tạm thời
Khi những lỗi này xảy ra, giao thức nắm bắt nguyên nhân lỗi và báo cáo mã lỗi trở lại trình duyệt được gọi là dòng/mã trạng thái HTTP. Lỗi bắt đầu bằng một số nhất định để cho biết đó là loại lỗi gì.
Ví dụ, các lỗi với mã lỗi bắt đầu bằng 4 chỉ ra rằng yêu cầu cho trang không thể được hoàn thành đúng cách hoặc yêu cầu chứa cú pháp sai. Ví dụ, lỗi 404 nghĩa là không thể tìm thấy trang. Một số trang web thậm chí còn cung cấp các trang lỗi 404 tùy chỉnh thú vị.