一、HTTP
HTTP(Hypertext Transfer Protocol)是一种在计算机网络中用于传输超媒体文档的应用层协议。THHP协议定义了客户端和服务器之间的通信规则,并规定了客户端向服务器发送请求时需要采用的请求方法:
①POST(添加)
②GET(查询)
③DELETE(删除)
④PUT(修改)
二、区别
2.1POST请求
2.1.1post定义
Post请求用于向指定资源提交数据,通常会导致服务器端的状态发生变化。例如:在web表单中填写用户信息并提交时,就是使用POST请求方式将表单中的数据提交到服务器保存。
使用POST请求方式提交的数据会被包含在请求体中,而不像GET请求方式那样包含在URL中。因此POST请求可以提交比GET更大的数据量,并且相对更安全。
2.1.2 post举例
POST /api/user HTTP/1.1 Host: example.com Content-Type: application/json Content-Length: 123 { “name”:”john Doe”, “email”:johndoe@example.com, “age”:”30” } #上述代码表示example.com的/api/user资源发送一个POST请求,请求中包含一个JSON格式的用户信息。 #优点 ①可以提交GET更大的数据量 ②相对更安全,因为请求参数不会被包含在URL中 #缺点 ①对服务器性能的影响较大 ②不适用于对统一资源进行多次操作 #适用场景 ①向服务器提交表单数据 ②向服务器上传文件 ③创建资源或提交数据到服务器。 |
2.2 GET请求
2.2.1 get定义
Get请求用于向指定资源发出请求,请求总包含了资源的URL和请求参数。服务器端通过解析请求参数来返回相应的资源,不会修改服务器状态。
使用get请求方式提交的数据会被包含在URL中,因此易于被缓存和浏览器保存,但也因此不适合用于提交敏感数据。
2.2.2get举例
下面是一个get请求的例子:
GET /api/user?id=123 http/1.1 Host:example.com #上述代码表示example.com的/api/user资源发送一个GET请求,请求参数包含了用户的ID。 #优点 ①可以被缓存和浏览器保存 ②对服务器性能的影响较小 #缺点 ①不适合提交敏感数据 ②仅适合用于资源进行查询操作,不能修改服务器端的状态 #适用场景 ①获取资源信息 ②对资源进行查询操作 |
2.3DELETE请求
2.3.1 delete定义
Delete请求用于请求服务器删除指定的资源,可以理解为对服务器上的资源进行删除操作,适用delelte请求方式会导致指定的资源被永久删除,因此需要谨慎适用
2.3.2delete例子
下面是一个delete请求的例子:
DELETE /api/user?id=123 HTTP/1.1 Host:example.com #上述代码表示想example.com的/api/user资源发送一个delete请求,并指定要删除的用户ID #优点 ①可以永久删除指定的资源 #缺点 ①对服务性能的影响较大 ②不适应于对同一资源进行多次操作 #应用场景 ①删除指定的资源 ②按条件删除一组资源 |
2.4 PUT请求
2.4.1 put定义
Put请求用于向服务器更新指定资源,可以理解为对服务器上的资源进行修改操作。使用PUT请求方式会覆盖原有的资源内容,因此需要谨慎使用。
2.4.2 put举例
下面是一个put请求的例子:
PUT /api/user HTTP/1.1 Host: example.com Content-Type: application/json Content-Length: 123 { “id”: 123, “name”: “hohn doe”, “email”: johndoe@example.com, “age”: 30 } #上述代码表示向example.com的/api/user资源发送一个PUT请求,并指定要更新的用户信息。 #优点 #缺点 ①对服务器性能的影响较大 ②不适应于对统一资源多次进行操作 #应用场景 ①更新指定的资源 ②按照条件更新一组资源 |