Mọi thứ bạn cần biết về HTTP
HTTP (Giao thức truyền siêu văn bản) cung cấp chuẩn giao thức mạng mà trình duyệt web và máy chủ sử dụng để giao tiếp. Thật dễ dàng để nhận ra điều này khi truy cập một trang web vì nó được viết ngay trong URL (ví dụ: http: // www. ).
Giao thức này tương tự như giao thức FTP khác , nó được chương trình máy khách sử dụng để yêu cầu các tệp từ máy chủ từ xa. Trong trường hợp của HTTP, nó thường là một trình duyệt web yêu cầu các tệp HTML từ một máy chủ web, sau đó được hiển thị trong trình duyệt với văn bản, hình ảnh, siêu liên kết, v.v.
HTTP được gọi là "hệ thống không trạng thái". Điều này có nghĩa là không giống như các giao thức truyền tệp khác như FTP , kết nối HTTP sẽ bị xóa khi yêu cầu đã được thực hiện. Vì vậy, khi trình duyệt web của bạn gửi yêu cầu và máy chủ phản hồi với trang, 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ó thể nhập tên miền và yêu cầu trình duyệt tự động điền vào phần "http: //".
Lịch sử của HTTP
Tim Berners-Lee đã tạo ra HTTP ban đầu vào đầu những năm 1990 như một phần công việc của mình trong việc xác định World Wide Web gốc. 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ợ các tài liệu siêu văn bản cơ bản)
- HTTP 1.0 (các tiện ích hỗ trợ các trang web phong phú và khả năng mở rộng)
- HTTP 1.1 (được phát triển để giải quyết các giới hạn hiệu suất của HTTP 1.0, được chỉ định 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 phê duyệt trong 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.
Mặc dù HTTP tiêu chuẩn 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 Lớp bảo mật (SSL) ban đầu ( hoặc sau này) Bảo mật lớp truyền tải (TLS).
Cách hoạt động của HTTP
HTTP là một giao thức tầng ứng dụng được xây dựng trên đầu trang của TCP sử dụng mô hình truyền thông máy khách-máy chủ . Các máy khách và máy chủ HTTP giao tiếp thông qua các yêu cầu HTTP và các thông báo phản hồi. Ba loại thông điệp HTTP chính là GET, POST và HEAD.
- HTTP GET tin nhắn được gửi đến một máy chủ chỉ chứa một URL . Không thể thêm thông số dữ liệu tùy chọn hoặc nhiều hơn 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ả về kết quả (trang web hoặc phần tử của trang web) cho trình duyệt.
- Thông báo HTTP POST đặt bất kỳ thông số dữ liệu tùy chọn nào trong phần nội dung của thông báo yêu cầu thay vì thêm chúng vào cuối URL.
- Yêu cầu HEAD HTTP hoạt động giống như yêu cầu GET. Thay vì trả lời bằng nội dung đầy đủ của URL, máy chủ chỉ gửi lại thông tin tiê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ủ 80 theo mặc định mặc dù các cổng khác như 8080 đôi khi được sử dụng thay thế.
Khi phiên được thiết lập, người dùng sẽ kích hoạt gửi và nhận tin nhắn HTTP bằng cách truy cập trang web.
Các vấn đề với HTTP
Thư được truyền qua HTTP có thể không được gửi thành công vì nhiều lý do:
- lỗi người dùng
- sự cố của trình duyệt web hoặc máy chủ web
- lỗi khi tạo trang web
- tạm thời mạng ổn định
Khi các lỗi này xảy ra, giao thức sẽ nắm bắt nguyên nhân của lỗi (nếu có thể) và báo cáo mã lỗi trở lại trình duyệt được gọi là mã / trạng thái HTTP . Lỗi bắt đầu bằng một số nhất định để chỉ ra loại lỗi nào.
Ví dụ: lỗi 4xx cho biết rằng yêu cầu cho trang không thể hoàn thành đúng hoặc yêu cầu chứa cú pháp không chính xác. Ví dụ: lỗi 404 có nghĩa là không thể tìm thấy trang; một số trang web thậm chí còn có một số trang lỗi 404 tùy chỉnh thú vị .