4.1 HTTP方法列表

HTTP 请求中的第一个词是方法名称。甚至与 Java 中的调用方法有些类比。HTTP 请求中的方法定义了要对资源执行的基本操作。

什么样的资源?问题是,在万维网诞生之初,服务器只是分别存储 HTML 文件,请求是针对这样的文件,并描述了需要对资源/文件执行的一些操作。

HTTP 标准指定了以下方法:

# 方法 描述
1个 得到 用于查询指定资源的内容。
2个 邮政 用于将数据从客户端传输到服务器。更改服务器上资源的状态。
3个 用于将数据从客户端传输到服务器。在服务器上创建新资源。
4个 删除 删除服务器上的指定资源。
5个 类似于 GET,但没有响应主体。需要获取响应标头
6个 选项 请求服务器获取指定资源支持的方法列表。
7 痕迹 服务方式。允许您查明请求是否正在被它经过的服务器更改。
8个 连接 服务方式。用于建立安全连接。

4.2 获取方法

GET 方法是最流行的 HTTP 方法。这是浏览器在向服务器发送下一页请求时调用的内容。

例如,如果您在浏览器中访问了链接http://codegym.cc/path/resource?param1=value1¶m2=value2,那么浏览器将向 CodeGym 服务器发送一个 HTTP 请求,该请求将以此起始行开头

GET /path/resource?param1=value1&param2=value2 HTTP/1.1

结果,服务器必须向浏览器发送 HTTP 响应,其中写入请求的状态,并发送请求的资源。

假设多次调用 GET 方法不会改变服务器的状态,并且服务器每次都必须返回相同的响应。因此,该协议对对象缓存有一个棘手的控制。

首先,使用 GET 请求接收的资源,浏览器可以自行决定在其端缓存(有细微差别)。

其次,当向服务器发送请求时,你可以指定一个特殊的头部If-Modified-Sincedate. 如果请求的资源/文档自指定日期以来发生了更改,则服务器将发送它。如果没有改变,则资源体不被传递。假定它缓存在客户端上。

一直使用页面缓存(GET 请求),所以我建议您调查一下这个问题。

4.3 POST 和 PUT 方法

POST 方法用于更新服务器上的资源。例如,当您将图像上传到服务器时,您的浏览器会发送一个 POST 请求。

考虑将以此起始行开头的 HTTP 请求:

POST /path/resource?param1=value1&param2=value2 HTTP/1.1
headers…

<request body>

结果,服务器必须向浏览器发送 HTTP 响应,其中将写入请求的状态,并发送修改后的资源。多次调用 POST 方法会改变服务器的状态,并且服务器每次可能返回不同的响应

GETPOST是网络上最常见的两种请求。为了让您更容易记住这些方法的工作原理,请考虑下表:

得到 邮政
要求 仅限网址 URL 和请求正文 URL 和请求正文
回答 响应代码和正文 响应代码和正文 响应码

您可以在链接中阅读有关 POST 请求的更多信息。

4.4 删除方法

最后,有关DELETE 方法的信息。这里的一切都很简单。

比如我们要删除服务器上的某个资源。我们向他发送请求,例如:

DELETE  /path/resource?param1=value1&param2=value2 HTTP/1.1

收到该请求后,服务器将删除指定的资源。当然,除非您有权删除它。