HTTP - Phương thức
Tập hợp các phương thức chung cho HTTP / 1.1 được định nghĩa bên dưới và tập hợp này có thể được mở rộng dựa trên các yêu cầu. Các tên phương thức này có phân biệt chữ hoa chữ thường và chúng phải được viết hoa.
SN | Phương pháp và Mô tả |
---|---|
1 | GET Phương thức GET được sử dụng để truy xuất thông tin từ máy chủ đã cho bằng cách sử dụng một URI nhất định. Các yêu cầu sử dụng GET chỉ nên truy xuất dữ liệu và không có tác dụng nào khác đối với dữ liệu. |
2 | HEAD Giống như GET, nhưng chỉ chuyển dòng trạng thái và phần tiêu đề. |
3 | POST Yêu cầu POST được sử dụng để gửi dữ liệu đến máy chủ, ví dụ: thông tin khách hàng, tải tệp lên, v.v. bằng các biểu mẫu HTML. |
4 | PUT Thay thế tất cả các bản trình bày hiện tại của tài nguyên đích bằng nội dung đã tải lên. |
5 | DELETE Loại bỏ tất cả các đại diện hiện tại của tài nguyên mục tiêu do URI cung cấp. |
6 | CONNECT Thiết lập một đường hầm đến máy chủ được xác định bởi một URI nhất định. |
7 | OPTIONS Mô tả các tùy chọn giao tiếp cho tài nguyên đích. |
số 8 | TRACE Thực hiện kiểm tra lặp lại thông báo dọc theo đường dẫn đến tài nguyên đích. |
Phương pháp GET
Yêu cầu GET lấy dữ liệu từ máy chủ web bằng cách chỉ định các tham số trong phần URL của yêu cầu. Đây là phương pháp chính được sử dụng để truy xuất tài liệu. Ví dụ sau sử dụng phương thức GET để tìm nạp hello.htm:
GET /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Phản hồi của máy chủ đối với yêu cầu GET ở trên sẽ như sau:
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>
Phương pháp HEAD
Phương thức HEAD về mặt chức năng tương tự như GET, ngoại trừ việc máy chủ trả lời bằng dòng phản hồi và tiêu đề, nhưng không có phần thân thực thể. Ví dụ sau sử dụng phương thức HEAD để tìm nạp thông tin tiêu đề về hello.htm:
HEAD /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Phản hồi của máy chủ đối với yêu cầu GET ở trên sẽ như sau:
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
Bạn có thể nhận thấy rằng ở đây máy chủ không gửi bất kỳ dữ liệu nào sau tiêu đề.
Phương pháp ĐĂNG
Phương thức POST được sử dụng khi bạn muốn gửi một số dữ liệu đến máy chủ, ví dụ: cập nhật tệp, dữ liệu biểu mẫu, v.v. Ví dụ sau sử dụng phương thức POST để gửi dữ liệu biểu mẫu đến máy chủ, dữ liệu này sẽ được xử lý bởi một process.cgi và cuối cùng một phản hồi sẽ được trả về:
POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Content-Type: text/xml; charset=utf-8
Content-Length: 88
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://clearforest.com/">string</string>
Quá trình tập lệnh phía máy chủ process.cgi xử lý dữ liệu được truyền và gửi phản hồi sau:
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed
<html>
<body>
<h1>Request Processed Successfully</h1>
</body>
</html>
Phương pháp PUT
Phương thức PUT được sử dụng để yêu cầu máy chủ lưu trữ phần thân thực thể được bao gồm tại một vị trí được chỉ định bởi URL nhất định. Ví dụ sau yêu cầu máy chủ lưu phần thân thực thể đã cho vàohello.htm tại thư mục gốc của máy chủ:
PUT /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Connection: Keep-Alive
Content-type: text/html
Content-Length: 182
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>
Máy chủ sẽ lưu trữ entity-body nhất định trong hello.htm và sẽ gửi lại phản hồi sau cho khách hàng:
HTTP/1.1 201 Created
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
<html>
<body>
<h1>The file was created.</h1>
</body>
</html>
Phương pháp DELETE
Phương thức DELETE được sử dụng để yêu cầu máy chủ xóa tệp tại vị trí được chỉ định bởi URL đã cho. Ví dụ sau yêu cầu máy chủ xóa tệp đã chohello.htm tại thư mục gốc của máy chủ:
DELETE /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Connection: Keep-Alive
Máy chủ sẽ xóa tệp được đề cập hello.htm và sẽ gửi lại phản hồi sau cho khách hàng:
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
<html>
<body>
<h1>URL deleted.</h1>
</body>
</html>
Phương pháp CONNECT
Phương thức CONNECT được ứng dụng khách sử dụng để thiết lập kết nối mạng với máy chủ web qua HTTP. Ví dụ sau yêu cầu kết nối với một máy chủ web đang chạy trên host tutorialspoint.com:
CONNECT www.tutorialspoint.com HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Kết nối được thiết lập với máy chủ và phản hồi sau được gửi lại máy khách:
HTTP/1.1 200 Connection established
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Phương pháp OPTIONS
Phương thức OPTIONS được ứng dụng khách sử dụng để tìm ra các phương thức HTTP và các tùy chọn khác được hỗ trợ bởi máy chủ web. Máy khách có thể chỉ định một URL cho phương thức OPTIONS hoặc dấu hoa thị (*) để chỉ toàn bộ máy chủ. Ví dụ sau yêu cầu danh sách các phương pháp được hỗ trợ bởi máy chủ web chạy trên tutorialspoint.com:
OPTIONS * HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Máy chủ sẽ gửi một thông tin dựa trên cấu hình hiện tại của máy chủ, ví dụ:
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Allow: GET,HEAD,POST,OPTIONS,TRACE
Content-Type: httpd/unix-directory
Phương pháp TRACE
Phương thức TRACE được sử dụng để lặp lại nội dung của một Yêu cầu HTTP trở lại người yêu cầu. Phương thức này có thể được sử dụng cho mục đích gỡ lỗi tại thời điểm phát triển. Ví dụ sau đây cho thấy cách sử dụng phương thức TRACE:
TRACE / HTTP/1.1
Host: www.tutorialspoint.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Máy chủ sẽ gửi thông báo sau để đáp ứng yêu cầu trên:
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Connection: close
Content-Type: message/http
Content-Length: 39
TRACE / HTTP/1.1
Host: www.tutorialspoint.com
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)