经过图轻松了解HTTP方法

目录:html

  • 告知服务器意图的HTTP方法
    • GET获取资源
    • POST传输实体主体
    • PUT传输文件
    • DELETE删除文件
    • HEAD得到报文首部
    • OPTIONS询问支持的方法
    • TRACE追踪路径
    • CONNECT要求用隧道协议链接代理
  • 持久链接
  • 管线化

告知服务器意图的HTTP方法

GET获取资源

用来请求访问已被URI识别的资源,指定的资源经服务器端解析返回响应内容。web

在这里插入图片描述

例子以下:安全

请求:服务器

GET /index.html HTTP/1.1
Host:www.furfur.net

响应:返回index.html的页面资源网络

Host:虚拟主机运行在同一个IP上,所以使用首部字段Host加以区分。Host会告知服务器,请求的资源所处的互联网主机名和端口号。Host首部字段在HTTP/1.1规范内是惟一一个必须被包含在请求内的首部字段。svg

POST传输实体主体

POST的主要目的告知服务器信息,同时能够获取响应的主体内容。加密

在这里插入图片描述

例子以下:.net

请求:3d

POST/submit.cig HTTP/1.1
Host:www.furfur.net

响应:返回submit.cig接收数据的处理结果代理

PUT传输文件

注意:PUT方法自身不带验证机制,存在安全问题

在这里插入图片描述

例子以下:

请求:

PUT/fur.html HTTP/1.1
Host:www.furfur.net

响应:响应返回状态码204 No Content

204状态码表示服务器 接收的请求已经成功处理,但在返回的响应报文中不含实体的主体内容部分,也不容许返回任何实体。

DELETE删除文件

用来删除文件,与PUT方法相反,可是HTTP/1.1的DELETE方法自己和PUT方法同样不带验证机制。

在这里插入图片描述

例子以下:

请求:

DELETE/fur.html HTTP/1.1
Host:www.furfur.net

响应:响应返回状态码204 No Content

HEAD得到报文首部

与GET同样,只是不返回报文主体部分,用于确认URI的有效性及资源更新的日期时间等。

在这里插入图片描述

例子以下:

请求:

HEAD/fur.html HTTP/1.1
Host:www.furfur.net

响应:返回fur.html有关的响应首部。

OPTIONS询问支持的方法

OPTIONS询问针对请求URI指定的资源支持的方法

在这里插入图片描述

例子以下:

请求:

OPTIONS * HTTP/1.1
Host:www.furfur.net

响应:

HTTP/1.1 200 OK
Allow: GET,POST,HEAD,OPTIONS

TRACE追踪路径

TRACE方法让Web服务器端将以前的请求通讯返回给客户端的方法。

发送请求时,在Max-Forwards首部字段中填入数字,每通过一个服务器端就将该数字减一,数值为0时中止继续传输,最后接收到的请求的服务器端返回码200 OK的响应。

可是TRACE方法容易引起XST(跨站追踪)攻击,一般不会用到。

在这里插入图片描述

例子以下:

请求:

TRACE /HTTP/1.1
Host:www.furfur.net
Max-Forwards:2

响应:

HTTP/1.1 200 OK
Content-Type:message/http
Content-Length:1024

TRACE/HTTP1.1
Host:www.furfur.net
Max-Forwards:2

CONNECT要求用隧道协议链接代理

实现用隧道协议进行TCP通讯,主要使用SSL(安全套接层)和TLS(传输层安全)协议把通讯内容加密后经网络隧道传输。

CONNECT 代理服务器名:端口号 HTTP版本

在这里插入图片描述

例子以下:

请求:

CONNECT fur.net:8080 HTTP/1.1
Host:www.furfur.net

响应:

HTTP/1.1 200 OK

持久链接

因为屡次请求会形成无谓的TCP链接的创建和断开,增长通讯量的开销,HTTP推出持久链接

持久链接(HTTP Persistent Connections 也称 HTTP keep-alive或HTTP connection reuse):只要任意一端没有明确提出断开链接,则TCP保持链接状态。

在这里插入图片描述

管线化

持久链接使得管线化成为可能,即不用等待响应亦能够直接发送下一个请求,这样能够作到同时并行发送多个请求,而不用一个一个等待响应。

在这里插入图片描述
本文参考自《图解HTTP》
查看上一篇经过图轻松了解各类协议

相关文章
相关标签/搜索