Các gói thông in internet tổ chức dưới dạng nào
HTTP (Hyper Text Transfer Protocol) là một giao thức nằm ở tầng ứng dụng (Application layer) của tập giao thức TCP/IP, sử dụng để truyền nhận dữ liệu giữa các hệ thống phân tán thông qua internet, cụ thể giao thức hoạt động theo mô hình Client-Server bằng cách thực hiện các quá trình request-response giữa các hệ thống máy tính khác nhau. Giao thức HTTP quy định cấu trúc của các gói tin và cách thức truyền nhận dữ liệu giữa client và server thông qua môi trường internet. Với khả năng truyền dẫn siêu văn bản (text, hình ảnh, âm thanh, video,…), HTTP hiện là nền tảng truyền dẫn dữ liệu của ứng dụng duyệt web hiện nay và được ứng dụng rất nhiều trong các hệ thống Internet of Things.
Để dễ hình dung, mỗi khi người dùng sử dụng trình duyệt và truy cập vào một website, một phiên làm việc HTTP (gọi là Session) sẽ được diễn ra với client là máy tính của người dùng và serer là máy chủ của website. Mặc định HTTP sẽ được thực hiện thông qua port 80, đây là port chuẩn của giao thức được định nghĩa bởi tổ chức IANA quy định. Ví dụ khi người dùng truy cập vào địa chỉ: https://tapit.vn/category/internet-of-thing. Quá trình của một phiên làm việc HTTP diễn ra như sau:
II. Format gói tin: Trong suốt phiên làm việc HTTP như ở trên, có hai loại gói tin chính được trao đổi là gói tin yêu cầu gửi từ client đến server gọi là “Request message” và gói tin phản hồi gửi từ server đến client gọi là “Response message”. Hai loại gói tin này được giao thức HTTP định nghĩa rất cụ thể: 1. HTTP request message Gồm 3 phần chính là: Request line, Header và Body. Dữ liệu được chia thành các dòng và định dạng kết thúc dòng là Ví dụ gói tin HTTP Request
Sử dụng phương thức GET gửi dữ liệu đến server sử dụng chuỗi truy vấn (query string): khi gửi một gói tin HTTP request theo phương thức GET, trong trường hợp client muốn gửi dữ liệu lên server để thực hiện lưu trữ hoặc thực hiện một yêu cầu cụ thể nào đó, thông thường client sẽ không đóng gói dữ liệu trong Body mà sẽ được gửi thẳng ở dòng Header line phía sau trường path theo định dạng các tham số dạng “key=value” như sau: GET /path?key1=value1&key2=value2&…&keyn=valuen HTTP/1.1 Dữ liệu gửi lên như vậy gọi là một chuỗi truy vấn (query string), được bắt đầu bằng dấu “?” và kế tiếp là các cặp “key=value”. Trong đó giá trị của các key thường sẽ được cung cấp bởi API từ phía server và client sẽ cung cấp dữ liệu của key thông qua value tương ứng. Ví dụ API cập nhật dữ liệu lên ThingSpeak có dạng: GET api.thingspeak.com/update?api_key=xxxxxxxxxx&field1=value HTTP/1.1 2. HTTP response messageĐịnh dạng gói tin HTTP response cũng gồm 3 phần chính là: Status line, Header và Body.
|