HTTP Message
HTTP là giao thức được thiết kế theo kiểu client - server, giao tiếp giữa client và server dựa vào một cặp request - response, client đưa ra các request và server sẽ response trả lời các request này.
HTTP Request
Để bắt đầu trao đổi dữ liệu, phía client khởi tạo một HTTP session bằng cách mở một kết nối TCP đến HTTP server sau đó gửi request đến server này.
Request có thể được tạo bằng nhiều cách, trực tiếp khi người dùng nhấp vào một liên kết trên trình duyệt hoặc gián tiếp, ví dụ như một video được đính kèm trong một website và việc request đến website này sẽ dẫn đến một request tới video ấy.
Bắt đầu của HTTP Request bao gồm rất nhiều thông tin như trên như:
- Accept: loại nội dung có thể nhận được từ thông điệp response. Ví dụ: text/plain, text/html, ...
- Accept-Encoding: các kiểu nén được chấp nhận. Ví dụ: gzip, deflate, xz, exi, ...
- Connection: tùy chọn điều khiển cho kết nối hiện thời. Ví dụ: keep-alive, Upgrade, ...
- Cookie: thông tin HTTP Cookie từ server.
- User-Agent: thông tin về user agent của người dùng.
Phương thức GET và POST
:method: GET2 phương thức được sử dụng nhiều nhất trong HTTP request là GET và POST.
Với GET, câu truy vấn sẽ được đính kèm vào đường dẫn của HTTP request. Ví dụ: /?username=phipham&password=hong
1 số đặc điểm của phương thức GET:
- Có thể được cached, bookmark và lưu trong lịch sử của trình duyệt.
- Bị giới hạn về chiều dài, do chiều dài của URL là có hạn.
- Không nên dùng với dữ liệu quan trọng, chỉ dùng để nhận dữ liệu.
Với POST, câu truy vấn sẽ được gửi trong phần message body của HTTP request.
1 số đặc điểm của phương thức POST:
- Không thể, cached, bookmark hay lưu trong lịch sử trình duyệt.
- Không bị giới hạn về độ dài.
Các phương thức khác: