什么是HTTP?

The Hypertext Transfer Protocol (HTTP) is designed to enable communications between clients and servers.

HTTP works as a request-response protocol between a client and server.

Example: A client (browser) sends an HTTP request to the server; then the server returns a response to the client. The response contains status information about the request and may also contain the requested content.

HTTP被设计用来客户端和服务端进行通信。

HTTP作为一个请求回应协议工作在客户端和服务端。

客户端(浏览器)向服务器发送一个HTTP请求;然后服务器将响应返回给客户端。响应包含关于请求的状态信息,还可能包含所请求的内容。

HTTP Methods

  1. GET
  2. POST
  3. PUT
  4. HEAD
  5. DELETE
  6. PATCH
  7. OPTIONS
  8. CONNECT
  9. TRACE

The GET Method

GET用于从指定的资源请求数据。
注意,查询语句(名称/值对)是在GET请求的URL中发送的:

/test/demo_form.php?name1=value1&name2=value2

Some notes on GET requests:

  1. GET请求可以被缓存
  2. GET请求保存在历史浏览器里面
  3. GET请求可以被添加到书签
  4. GET请求不要用于敏感数据
  5. GET请求有长度限制
  6. GET请求仅用于请求数据

The POST Method

POST 被用于去发送数据到服务器去创建或者更新一个资源

使用POST发送到服务器的数据存储在HTTP请求的请求体中:

POST /test/demo_form.php HTTP/1.1

Host: w3schools.com

name1=value1&name2=value2

Some notes on POST requests:

  1. POST不能被缓存
  2. POST请求不保留在历史记录里面
  3. POST请求不能被加入书签
  4. POST请求在数据长度上无限制

The PUT Method

PUT 被用于去发送数据到服务器去创建或者更新一个资源

POST和PUT的区别在于PUT请求是幂等的。也就是说,多次调用相同的PUT请求将总是产生相同的结果。相反,重复调用POST请求会产生多次创建相同资源的副作用。

The HEAD Method

HEAD几乎与GET相同,但没有响应体。

换句话说,如果GET /users返回一个用户列表,那么HEAD /users将发出相同的请求,但不会返回用户列表。

HEAD请求对于在实际发出GET请求之前检查GET请求将返回什么非常有用——就像在下载一个大文件或响应主体之前。

The DELETE Method

用于删除特定的资源。

The PATCH Method

PATCH方法用于将部分修改应用到资源。

The OPTIONS Method

OPTIONS方法描述目标资源的通信选项。

The CONNECT Method

CONNECT方法用于启动与请求资源的双向通信(隧道)。

The TRACE Method

TRACE方法方法用于执行消息环回测试,该测试用于测试目标资源的路径(对于调试目的很有用)。

https://www.w3schools.com/tags/ref_httpmethods.asp