HTTP là gì?
HTTP là viết tắt của Hypertext Transfer Protocol. HTTP hoạt động tương tự các service ứng dụng khác như SMTP và FTP. Giống như hiệu suất của FTP, HTTP truyền tài liệu bằng service của cổng TCP. Nhưng HTTP chỉ sử dụng một kết nối TCP tại liên kết dữ liệu và không có Control Connection riêng lẻ nào được sử dụng.
HTTP là một giao thức tìm nạp các tài nguyên như tài liệu HTML. Nó được sử dụng để trao đổi dữ liệu trên web và là một giao thức client-server (nghĩa là các yêu cầu được khởi tạo bởi bên nhận, thường là trình duyệt web).
Các hoạt động điều khiển từ phía client được gửi trong một thông báo yêu cầu vào web server. Web server gửi nội dung được yêu cầu tại một thông báo phản hồi. HTTP không cung cấp bất kỳ bảo mật nào và sử dụng SSL (Secure Socket Layer).
HTTP hoạt động như thế nào?
HTTP cung cấp cho người dùng cách phân phối các thông điệp hypertext (siêu văn bản) giữa server và client để tương tác. HTTP client thường sử dụng kết nối Transmission Control Protocol (TCP) để giao tiếp với server.
HTTP sử dụng các tác vụ khác nhau được thực hiện bằng những phương thức sau:
- GET = Yêu cầu toàn bộ nguồn cụ thể.
- HEAD = Một tài nguyên cụ thể không có nội dung chính.
- POST = Thêm các bài báo, tin nhắn và thông tin vào một trang khác trong một tài nguyên web hiện có.
- PUT = Trực tiếp sửa đổi nguồn web hiện tại và tạo một URL mới nếu cần.
- DELETE = Loại bỏ một nguồn cụ thể.
- TRACE = Hiển thị cho người dùng bất kỳ sửa đổi hoặc bổ sung nào được thực hiện đối với tài nguyên Internet.
- OPTIONS = Hiển thị cho người dùng những phương thức HTTP nào khả dụng cho một URL cụ thể.
- CONNECT = Chuyển đổi liên kết được yêu cầu.
- PATCH = Sửa đổi một phần tài nguyên Internet.
HTTP server sử dụng phương thức GET và HEAD.
TCP là gì?
TCP là một giao thức hướng kết nối, cho biết một kết nối được thiết lập và duy trì cho đến khi dữ liệu ứng dụng ở mỗi đầu kết thúc việc trao đổi. TCP chia dữ liệu ứng dụng thành các gói. Gói này phân phối đến layer truyền tải. Layer 4 quản lý việc kiểm soát luồng và cung cấp khả năng truyền dữ liệu không có lỗi, xử lý việc truyền lại các gói bị mất hoặc cắt xén và ghi nhận tất cả các gói đến. Trong mô hình OSI, TCP bao gồm các phần của Layer 4 (layer truyền tải) và Layer 5 bao gồm layer phiên.
Cách thức hoạt động của TCP
Công việc của TCP là đảm bảo rằng tất cả dữ liệu được gửi trong luồng di chuyển từ client sang server theo đúng thứ tự và nguyên vẹn. TCP sử dụng một kỹ thuật được gọi là Positive Acknowledgement khi truyền lại, yêu cầu đầu nhận của quá trình truyền đưa ra phản hồi về dữ liệu nào đã được nhận. Các byte được gửi có thể khớp chính xác với các byte đã nhận. Không có dữ liệu nào bị thay đổi hoặc bị mất trên đường đi.
Kết nối được thiết lập và sự kết hợp giữa 3 bên được thực hiện. Đầu tiên, nguồn gửi một gói yêu cầu SYN đến server để bắt đầu quá trình thiết lập phiên. Sau đó, server gửi một gói SYN-ACK để đồng ý với quá trình. Cuối cùng, nguồn gửi một gói ACK đến đích để xác nhận quá trình, sau đó dữ liệu có thể được gửi đi.
So sánh TCP và HTTP
1. HTTP được sử dụng để truy cập các trang web, trong khi TCP là giao thức thiết lập phiên giữa client và server.
2. HTTP sử dụng cổng 80 và TCP không sử dụng cổng.
3. HTTP không cần xác thực, trong khi TCP sử dụng TCP-AO.
4. HTTP là hệ thống giao tiếp một chiều, trong khi TCP có sự kết hợp của 3 yếu tố (SYN, SYN-ACK, ACK).
5. Trong trường hợp bạn đang sử dụng HTTP, HTTP sẽ xuất hiện trong URL của trang web và nếu bạn đang sử dụng TCP, TCP sẽ xuất hiện trong IP.
6. HTTP thiết lập giao tiếp liên kết dữ liệu, còn TCP thiết lập kết nối phiên.
7. HTTP hữu ích để chuyển những tài liệu nhỏ hơn như các trang web, mặt khác, TCP hữu ích trong việc thiết lập kết nối để truyền dữ liệu.
8. HTTP nhanh hơn so với TCP.
Xem thêm: