📜  http 动词 (1)

📅  最后修改于: 2023-12-03 15:01:19.654000             🧑  作者: Mango

HTTP 动词

HTTP(超文本传输协议)是一个用于在Web上进行通信的应用层协议。HTTP请求由一个HTTP动词和一个URL组成。HTTP动词指示客户端要执行的操作类型,并在Web服务器上执行该操作。常见的HTTP动词包括GET、POST、PUT、DELETE、HEAD、OPTIONS、PATCH等。

GET

GET是最常用的HTTP动词之一,它用于从Web服务器检索数据。客户端向服务器发送GET请求时,服务器会将请求的资源返回给客户端。

GET / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
POST

POST是用于向Web服务器发送数据的HTTP动词。客户端将数据包含在请求体中并将其发送到服务器。POST请求用于创建新资源或将更改应用于现有资源。

POST /register HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Content-Type: application/x-www-form-urlencoded
Content-Length: 25

username=johndoe&password=password123
PUT

PUT是用于将更改应用于现有资源的HTTP动词。PUT请求要求完整表示当前状态,包括在请求中未指明的部分,PUT请求时要对已有的资源进行更新。

PUT /users/123 HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: application/json
Content-Type: application/json
Content-Length: 15

{"name":"John Doe"}
DELETE

DELETE是用于删除现有资源的HTTP动词。DELETE请求从Web服务器中删除指定的资源。

DELETE /users/123 HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: application/json
HEAD

HEAD和GET类似,但是它只返回HTTP响应头,而不是资源实体本身。HEAD请求可用于确定资源是否存在,以及在获取资源之前获取有关资源的元数据。

HEAD / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
OPTIONS

OPTIONS是用于获取目的URI所支持的HTTP方法信息的HTTP动词。这使得客户端可以查看服务器支持哪些方法,而无需实际请求该URI。OPTIONS也用于跨域请求中的预检请求。

OPTIONS / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
PATCH

PATCH是用于更新现有资源的部分内容的HTTP动词。与PUT不同,PATCH请求仅包含要应用的更改,而不是完整的资源显示。

PATCH /users/123 HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: application/json
Content-Type: application/json-patch+json
Content-Length: 34

[
  {"op": "replace", "path": "name", "value": "Jane Doe"}
]