什么是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
- GET
- POST
- PUT
- HEAD
- DELETE
- PATCH
- OPTIONS
- CONNECT
- TRACE
The GET Method
GET用于从指定的资源请求数据。
注意,查询语句(名称/值对)是在GET请求的URL中发送的:
/test/demo_form.php?name1=value1&name2=value2
Some notes on GET requests:
- GET请求可以被缓存
- GET请求保存在历史浏览器里面
- GET请求可以被添加到书签
- GET请求不要用于敏感数据
- GET请求有长度限制
- 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:
- POST不能被缓存
- POST请求不保留在历史记录里面
- POST请求不能被加入书签
- 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方法方法用于执行消息环回测试,该测试用于测试目标资源的路径(对于调试目的很有用)。