Các phương thức HTTP: GET vs POST
Hai phương thức HTTP được sử dụng nhiều nhất là: GET và POST. HTTP là gì? Giao thức truyền siêu văn bản (HTTP) được thiết kế để cho phép truyền thông giữa các máy client và máy chủ. HTTP hoạt động dưới dạng giao thức yêu cầu phản hồi giữa máy client và máy chủ. ...
Hai phương thức HTTP được sử dụng nhiều nhất là: GET và POST.
HTTP là gì?
Giao thức truyền siêu văn bản (HTTP) được thiết kế để cho phép truyền thông giữa các máy client và máy chủ. HTTP hoạt động dưới dạng giao thức yêu cầu phản hồi giữa máy client và máy chủ.
Trình duyệt web có thể là ứng dụng client, và một ứng dụng trên máy tính lưu trữ một trang web có thể là máy chủ.
Ví dụ: client (trình duyệt) gửi yêu cầu HTTP tới máy chủ; sau đó máy chủ trả về một phản ứng choclient. Phản hồi chứa thông tin trạng thái về yêu cầu cũng có thể chứa nội dung được yêu cầu.
Hai phương thức yêu cầu HTTP: GET và POST
Hai phương pháp thường được sử dụng cho một yêu cầu phản hồi giữa client và máy chủ là: GET và POST.
- GET – Yêu cầu dữ liệu từ một nguồn cụ thể
- POST – Gửi dữ liệu được xử lý đến một tài nguyên được chỉ định
Phương thức GET
Lưu ý rằng chuỗi truy vấn (cặp tên / giá trị) được gửi trong URL của một yêu cầu GET:
/test/demo_form.php?name1=value1&name2=value2
Một số lưu ý khác về yêu cầu GET:
- Yêu cầu GET có thể được lưu trữ
- Yêu cầu GET vẫn còn trong lịch sử trình duyệt
- Yêu cầu GET có thể được đánh dấu
- 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 chiều dài
- Yêu cầu GET chỉ nên được sử dụng để lấy dữ liệu
Phương thức POST
Lưu ý rằng chuỗi truy vấn (cặp tên / giá trị) được gửi trong phần nội dung thư HTTP của yêu cầu POST:
POST /test/demo_form.php HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2
Một số lưu ý khác về yêu cầu POST:
- Yêu cầu POST không bao giờ được lưu trữ
- Yêu cầu POST không còn trong lịch sử trình duyệt
- Yêu cầu POST không được đánh dấu
- Yêu cầu POST không có hạn chế về chiều dài dữ liệu
So sánh GET và POST
Bảng sau đây so sánh hai phương thức HTTP: GET và POST.
GET | POST | |
---|---|---|
BACK button/Reload | Không tác dụng | Dữ liệu sẽ được gửi lại (trình duyệt sẽ cảnh báo người dùng rằng dữ liệu sắp được gửi lại) |
Bookmarked | Có thể đánh dấu trang | Không thể đánh dấu trang |
Cached | Có thể được lưu trữ | Không được lưu trữ |
Encoding type | Ứng dụng / x-www-form-urlencoded | Ứng dụng / x-www-form-urlencoded hoặc multipart / form-data. Sử dụng mã hóa nhiều phần cho dữ liệu nhị phân |
History | Các tham số vẫn còn trong lịch sử trình duyệt | Các tham số không được lưu trong lịch sử trình duyệt |
Restrictions on data length | Có, khi gửi dữ liệu, phương thức GET thêm dữ liệu vào URL. Và độ dài của URL bị giới hạn (chiều dài URL tối đa là 2048 ký tự) | Không hạn chế |
Restrictions on data type | Chỉ cho phép các ký tự ASCII | Không hạn chế. Dữ liệu nhị phân cũng được phép |
Security | GET không an toàn so với POST vì dữ liệu được gửi là một phần của URL | POST an toàn hơn GET vì các tham số không được lưu trữ trong lịch sử trình duyệt hoặc trong các bản ghi của máy chủ web |
Visibility | Không bao giờ sử dụng GET khi gửi mật khẩu hoặc các thông tin nhạy cảm khác! Dữ liệu được hiển thị cho tất cả mọi người trong URL |
Dữ liệu không được hiển thị trong URL |
Phương thức yêu cầu HTTP khác
Bảng dưới đây liệt kê một số phương pháp yêu cầu HTTP khác:
Phương thức | Mô tả |
---|---|
HEAD | Giống như GET nhưng chỉ trả lại các tiêu đề HTTP và không có phần thân tài liệu |
PUT | Tải lên một đại diện của URI được chỉ định |
DELETE | Xoá các tài nguyên quy định |
OPTIONS | Trả về các phương thức HTTP mà máy chủ hỗ trợ |
CONNECT | Chuyển đổi yêu cầu kết nối đến một đường hầm TCP / IP minh bạch |
- Học lập trình front-end cơ bản với bootstrap 4/html5/css3
- Học lập trình front-end nâng cao qua Project thực tế
- Học thiết kế web với Photoshop, CSS theo kiểu SASS
- Học cách sử dụng Git_hub cho lập trình viên
- Học lập trình Back-end PHP theo mô hình MVC cơ bản
- Học lập trình Back-end PHP theo mô hình MVC nâng cao
- Học lập trình Cơ sở dữ liệu với AngularJS
- Học lập trình theme wordpress. Làm ra mọi website hoàn chỉnh với wordpress
- Combo lập trình front-end từ cơ bản – nâng cao
- Combo lập trình back-end từ cơ bản đến nâng cao
- Combo lập trình web với word press từ A-Z