Phương pháp yêu cầu HTML
- Trang trước Thông điệp HTTP
- Trang tiếp theo Phím tắt bàn phím
HTTP là gì?
Chuẩn truyền tải siêu văn bản (Hypertext Transfer Protocol, viết tắt HTTP) nhằm mục đích cho phép giao tiếp giữa khách hàng và máy chủ.
HTTP đóng vai trò là giao thức yêu cầu - phản hồi giữa khách hàng và máy chủ.
Ví dụ: Khách hàng (browser) gửi yêu cầu HTTP đến máy chủ; sau đó máy chủ trả về phản hồi cho khách hàng. Phản hồi chứa thông tin về trạng thái của yêu cầu, có thể chứa nội dung được yêu cầu.
Phương pháp HTTP
- GET
- POST
- PUT
- HEAD
- DELETE
- PATCH
- OPTIONS
Hai phương pháp phổ biến nhất là: GET và POST.
Phương pháp GET
GET được sử dụng để yêu cầu dữ liệu từ tài nguyên được chỉ định.
GET là một trong những phương pháp HTTP phổ biến nhất.
Lưu ý rằng chuỗi truy vấn (cặp tên/giá trị) được gửi trong URL của yêu cầu GET:
/test/demo_form.php?name1=value1&name2=value2
Một số ghi chú khác về yêu cầu GET:
- Yêu cầu GET có thể được lưu trữ
- Yêu cầu GET được lưu trong lịch sử duyệt web của trình duyệt
- Yêu cầu GET có thể lưu trữ làm dấu trang
- Yêu cầu GET không nên được sử dụng khi xử lý dữ liệu nhạy cảm
- Yêu cầu GET có giới hạn về độ dài
- Yêu cầu GET chỉ nên được sử dụng để lấy dữ liệu (không sửa đổi)
Phương pháp POST
POST được sử dụng để gửi dữ liệu đến máy chủ để tạo/cập nhật tài nguyên.
Dữ liệu được gửi qua POST lưu trữ trong phần thân của yêu cầu HTTP:
POST /test/demo_form.php HTTP/1.1 Host: codew3c.com name1=value1&name2=value2
POST là một trong những phương pháp HTTP phổ biến nhất.
Một số ghi chú khác về yêu cầu POST:
- Yêu cầu POST sẽ không được lưu trữ
- Yêu cầu POST sẽ không được lưu trong lịch sử duyệt web của trình duyệt
- POST không thể lưu trữ làm dấu trang
- Yêu cầu POST không có yêu cầu về độ dài dữ liệu.
Phương pháp PUT
PUT được sử dụng để gửi dữ liệu đến máy chủ để tạo/cập nhật tài nguyên.
Sự khác biệt giữa POST và PUT là yêu cầu PUT là idempotent (không thay đổi). Nghĩa là, việc gọi lại cùng một yêu cầu PUT nhiều lần sẽ luôn luôn tạo ra cùng một kết quả. Ngược lại, việc gọi lại yêu cầu POST nhiều lần có tác dụng phụ là tạo ra nhiều lần cùng một tài nguyên.
Phương pháp HEAD
HEAD gần như giống hệt GET, nhưng không có phản hồi chính văn bản.
Nói cách khác, nếu yêu cầu GET /users trả về danh sách người dùng, thì yêu cầu HEAD /users sẽ gửi cùng một yêu cầu nhưng không trả về danh sách người dùng.
Yêu cầu HEAD rất hữu ích để kiểm tra nội dung sẽ được trả về bởi yêu cầu GET trước khi gửi yêu cầu GET thực tế (ví dụ: trước khi tải xuống tệp lớn hoặc trước khi gửi phản hồi chính văn bản).
Phương pháp DELETE
Phương pháp DELETE xóa tài nguyên được chỉ định.
Phương pháp OPTIONS
Phương pháp OPTIONS mô tả các tùy chọn giao tiếp của tài nguyên mục tiêu.
So sánh GET với POST
Bảng dưới đây so sánh hai phương pháp HTTP: GET và POST.
GET | POST | |
---|---|---|
Nút quay lại/refresh | Vô hại | Dữ liệu sẽ được gửi lại (trình duyệt nên thông báo cho người dùng rằng dữ liệu sẽ được gửi lại). |
Dấu trang | Có thể lưu trữ làm dấu trang | Không thể lưu trữ làm dấu trang |
Lưu trữ | Có thể lưu trữ | Không thể lưu trữ |
Loại mã hóa | application/x-www-form-urlencoded | application/x-www-form-urlencoded hoặc multipart/form-data. Sử dụng mã hóa kép cho dữ liệu nhị phân. |
Lịch sử | Tham số sẽ được lưu trong lịch sử trình duyệt. | Tham số sẽ không được lưu trong lịch sử trình duyệt. |
Giới hạn độ dài dữ liệu | Có. Khi gửi dữ liệu, phương pháp GET sẽ thêm dữ liệu vào URL; độ dài của URL bị giới hạn (độ dài tối đa của URL là 2048 ký tự). | Không có giới hạn. |
Giới hạn loại dữ liệu | Chỉ cho phép ký tự ASCII. | Không có giới hạn. Cũng cho phép dữ liệu nhị phân. |
An toàn | So với POST, GET có tính an toàn thấp hơn vì dữ liệu được gửi là một phần của URL. Đừng bao giờ sử dụng GET để gửi mật khẩu hoặc thông tin nhạy cảm khác! |
POST an toàn hơn GET vì các tham số sẽ không được lưu trong lịch sử trình duyệt hoặc bản ghi máy chủ web. |
Xem được | Dữ liệu trong URL đối với tất cả mọi người đều có thể nhìn thấy. | Dữ liệu sẽ không hiển thị trong URL. |
- Trang trước Thông điệp HTTP
- Trang tiếp theo Phím tắt bàn phím