Phương thức HTTP POST
gửi dữ liệu đến máy chủ. Loại nội dung của yêu cầu được biểu thị bằng tiêu đề Content-Type
Sự khác biệt giữa PUT
và POST
là PUT
là bình thường. gọi nó một lần hoặc nhiều lần liên tiếp có tác dụng tương tự [không có tác dụng phụ], trong đó POST
giống hệt nhau liên tiếp có thể có tác dụng bổ sung, chẳng hạn như chuyển một đơn đặt hàng nhiều lần
Yêu cầu POST
thường được gửi qua biểu mẫu HTML và dẫn đến thay đổi trên máy chủ. Trong trường hợp này, loại nội dung được chọn bằng cách đặt chuỗi thích hợp vào thuộc tính của phần tử
POST /test HTTP/1.1
Host: foo.example
Content-Type: application/x-www-form-urlencoded
Content-Length: 27
field1=value1&field2=value2
1 hoặc thuộc tính của phần tử POST /test HTTP/1.1
Host: foo.example
Content-Type: application/x-www-form-urlencoded
Content-Length: 27
field1=value1&field2=value2
3 hoặc POST /test HTTP/1.1
Host: foo.example
Content-Type: application/x-www-form-urlencoded
Content-Length: 27
field1=value1&field2=value2
4
5. các khóa và giá trị được mã hóa trong các bộ khóa-giá trị được phân tách bằngPOST /test HTTP/1.1 Host: foo.example Content-Type: application/x-www-form-urlencoded Content-Length: 27 field1=value1&field2=value2
6, với mộtPOST /test HTTP/1.1 Host: foo.example Content-Type: application/x-www-form-urlencoded Content-Length: 27 field1=value1&field2=value2
7 giữa khóa và giá trị. Các ký tự không phải chữ và số trong cả khóa và giá trị đều được mã hóa theo phần trăm. đây là lý do tại sao loại này không phù hợp để sử dụng với dữ liệu nhị phân [thay vào đó hãy sử dụngPOST /test HTTP/1.1 Host: foo.example Content-Type: application/x-www-form-urlencoded Content-Length: 27 field1=value1&field2=value2
8]POST /test HTTP/1.1 Host: foo.example Content-Type: application/x-www-form-urlencoded Content-Length: 27 field1=value1&field2=value2
8. mỗi giá trị được gửi dưới dạng một khối dữ liệu ["phần cơ thể"], với dấu phân cách do tác nhân người dùng xác định ["ranh giới"] phân tách từng phần. Các phím được đưa ra trong tiêu đềPOST /test HTTP/1.1 Host: foo.example Content-Type: application/x-www-form-urlencoded Content-Length: 27 field1=value1&field2=value2
0 của mỗi phầnPOST /test HTTP/1.1 Host: foo.example Content-Type: multipart/form-data;boundary="boundary" --boundary Content-Disposition: form-data; name="field1" value1 --boundary Content-Disposition: form-data; name="field2"; filename="example.txt" value2 --boundary--
1POST /test HTTP/1.1 Host: foo.example Content-Type: multipart/form-data;boundary="boundary" --boundary Content-Disposition: form-data; name="field1" value1 --boundary Content-Disposition: form-data; name="field2"; filename="example.txt" value2 --boundary--
Khi yêu cầu POST
được gửi qua một phương thức không phải là biểu mẫu HTML — như qua một
POST /test HTTP/1.1
Host: foo.example
Content-Type: multipart/form-data;boundary="boundary"
--boundary
Content-Disposition: form-data; name="field1"
value1
--boundary
Content-Disposition: form-data; name="field2"; filename="example.txt"
value2
--boundary--
3 — phần thân có thể lấy bất kỳ loại nào. Như được mô tả trong HTTP 1. 1, POST
được thiết kế để cho phép một phương pháp thống nhất bao gồm các chức năng sau
Làm cách nào để đăng dữ liệu mà không cần biểu mẫu HTML?
Bạn có thể gửi yêu cầu xhr với dữ liệu bạn muốn đăng trước khi tải lại trang. Và chỉ tải lại trang nếu yêu cầu xhr kết thúc. Vì vậy, về cơ bản, bạn sẽ muốn thực hiện một yêu cầu đồng bộ
Chúng tôi có thể gửi yêu cầu bài viết mà không cần hình thức?
Có, một ví dụ sẽ là sử dụng khung JavaScript, jQuery, để gửi yêu cầu GET hoặc POST bằng các hàm $ .
Có thể gửi biểu mẫu HTML bằng GET thay vì POST không?
Dữ liệu biểu mẫu có thể được gửi dưới dạng biến URL [với method="get" ] hoặc dưới dạng giao dịch bài đăng HTTP [với method="post" ] . Ghi chú về NHẬN. Nối dữ liệu biểu mẫu vào URL theo cặp tên/giá trị. Độ dài của URL bị giới hạn [khoảng 3000 ký tự]
Chúng tôi có thể gửi biểu mẫu mà không có thẻ biểu mẫu không?
1] Bắt buộc phải có thẻ biểu mẫu do tiêu chuẩn HTML. 2] Không có thẻ biểu mẫu, bạn sẽ không thể chỉ định phương thức của biểu mẫu [GET/POST] và mục tiêu .