目录:html
用来请求访问已被URI识别的资源,指定的资源经服务器端解析返回响应内容。web
例子以下:安全
请求:服务器
GET /index.html HTTP/1.1 Host:www.furfur.net
响应:返回index.html的页面资源网络
Host:虚拟主机运行在同一个IP上,所以使用首部字段Host加以区分。Host会告知服务器,请求的资源所处的互联网主机名和端口号。Host首部字段在HTTP/1.1规范内是惟一一个必须被包含在请求内的首部字段。svg
POST的主要目的告知服务器信息,同时能够获取响应的主体内容。加密
例子以下:.net
请求:3d
POST/submit.cig HTTP/1.1 Host:www.furfur.net
响应:返回submit.cig接收数据的处理结果代理
注意:PUT方法自身不带验证机制,存在安全问题
例子以下:
请求:
PUT/fur.html HTTP/1.1 Host:www.furfur.net
响应:响应返回状态码204 No Content
204状态码表示服务器 接收的请求已经成功处理,但在返回的响应报文中不含实体的主体内容部分,也不容许返回任何实体。
用来删除文件,与PUT方法相反,可是HTTP/1.1的DELETE方法自己和PUT方法同样不带验证机制。
例子以下:
请求:
DELETE/fur.html HTTP/1.1 Host:www.furfur.net
响应:响应返回状态码204 No Content
与GET同样,只是不返回报文主体部分,用于确认URI的有效性及资源更新的日期时间等。
例子以下:
请求:
HEAD/fur.html HTTP/1.1 Host:www.furfur.net
响应:返回fur.html有关的响应首部。
OPTIONS询问针对请求URI指定的资源支持的方法
例子以下:
请求:
OPTIONS * HTTP/1.1 Host:www.furfur.net
响应:
HTTP/1.1 200 OK Allow: GET,POST,HEAD,OPTIONS
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
实现用隧道协议进行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》
查看上一篇经过图轻松了解各类协议