8种HTTP方法总结
2016-12-08 10:41
239 查看
GET:获取资源
GET方法用来请求访问已被
URI
识别的资源。指定的资源经服务
器端解析后返回响应内容。 也就是说,如果请求的资源是文本,那就保
持原样返回; 如果是像CGI(Common
Gateway Interface,通用网关接
口)那样的程序,则返回经过执行后的输出结果。
POST:传输实体主体
POST方法用来传输实体的主体。
虽然用GET
方法也可以传输实体的主体,但一般不用
GET
方法进
行传输,而是用POST
方法。虽说
POST
的功能与
GET
很相似,但
POST的主要目的并不是获取响应的主体内容。
PUT:传输文件
PUT方法用来传输文件。就像
FTP
协议的文件上传一样,要求在
请求报文的主体中包含文件内容,然后保存到请求URI
指定的位置。
但是,鉴于HTTP/1.1
的
PUT
方法自身不带验证机制,任何人都可
以上传文件,
存在安全性问题,因此一般的
Web
网站不使用该方法。若
配合Web
应用程序的验证机制,或架构设计采用
REST(REpresentational
State Transfer,表征状态转移)标准的同类Web
网站,就可能会开放使
用PUT
方法。
HEAD:获得报文首部
HEAD方法和
GET
方法一样,只是不返回报文主体部分。用于确认
URI的有效性及资源更新的日期时间等。
DELETE:删除文件
DELETE方法用来删除文件,是与
PUT
相反的方法。
DELETE
方
法按请求URI
删除指定的资源。
但是,HTTP/1.1
的
DELETE
方法本身和
PUT
方法一样不带验证机
制,所以一般的Web
网站也不使用
DELETE
方法。当配合
Web
应用程
序的验证机制,或遵守REST
标准时还是有可能会开放使用的。
OPTIONS:询问支持的方法
OPTIONS方法用来查询针对请求
URI
指定的资源支持的方法。
TRACE:追踪路径
TRACE方法是让
Web
服务器端将之前的请求通信环回给客户端的
方法。
发送请求时, 在Max-Forwards
首部字段中填入数值,每经过一个
服务器端就将该数字减1,
当数值刚好减到0
时,就停止继续传输,最
后接收到请求的服务器端则返回状态码200
OK
的响应。
客户端通过TRACE
方法可以查询发送出去的请求是怎样被加工修
改/
篡改的。这是因为,请求想要连接到源目标服务器可能会通过代理
中转,TRACE
方法就是用来确认连接过程中发生的一系列操作。
但是,TRACE
方法本来就不怎么常用,再加上它容易引发
XST
(Cross-Site Tracing,跨站追踪)攻击,通常就更不会用到了。
CONNECT:要求用隧道协议连接代理
CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道
协议进行TCP
通信。主要使用
SSL(Secure Sockets
Layer,安全套接
层)和TLS(Transport
Layer Security,传输层安全)协议把通信内容加
密后经网络隧道传输。
CONNECT方法的格式如下所示。
GET方法用来请求访问已被
URI
识别的资源。指定的资源经服务
器端解析后返回响应内容。 也就是说,如果请求的资源是文本,那就保
持原样返回; 如果是像CGI(Common
Gateway Interface,通用网关接
口)那样的程序,则返回经过执行后的输出结果。
POST:传输实体主体
POST方法用来传输实体的主体。
虽然用GET
方法也可以传输实体的主体,但一般不用
GET
方法进
行传输,而是用POST
方法。虽说
POST
的功能与
GET
很相似,但
POST的主要目的并不是获取响应的主体内容。
PUT:传输文件
PUT方法用来传输文件。就像
FTP
协议的文件上传一样,要求在
请求报文的主体中包含文件内容,然后保存到请求URI
指定的位置。
但是,鉴于HTTP/1.1
的
PUT
方法自身不带验证机制,任何人都可
以上传文件,
存在安全性问题,因此一般的
Web
网站不使用该方法。若
配合Web
应用程序的验证机制,或架构设计采用
REST(REpresentational
State Transfer,表征状态转移)标准的同类Web
网站,就可能会开放使
用PUT
方法。
HEAD:获得报文首部
HEAD方法和
GET
方法一样,只是不返回报文主体部分。用于确认
URI的有效性及资源更新的日期时间等。
DELETE:删除文件
DELETE方法用来删除文件,是与
PUT
相反的方法。
DELETE
方
法按请求URI
删除指定的资源。
但是,HTTP/1.1
的
DELETE
方法本身和
PUT
方法一样不带验证机
制,所以一般的Web
网站也不使用
DELETE
方法。当配合
Web
应用程
序的验证机制,或遵守REST
标准时还是有可能会开放使用的。
OPTIONS:询问支持的方法
OPTIONS方法用来查询针对请求
URI
指定的资源支持的方法。
TRACE:追踪路径
TRACE方法是让
Web
服务器端将之前的请求通信环回给客户端的
方法。
发送请求时, 在Max-Forwards
首部字段中填入数值,每经过一个
服务器端就将该数字减1,
当数值刚好减到0
时,就停止继续传输,最
后接收到请求的服务器端则返回状态码200
OK
的响应。
客户端通过TRACE
方法可以查询发送出去的请求是怎样被加工修
改/
篡改的。这是因为,请求想要连接到源目标服务器可能会通过代理
中转,TRACE
方法就是用来确认连接过程中发生的一系列操作。
但是,TRACE
方法本来就不怎么常用,再加上它容易引发
XST
(Cross-Site Tracing,跨站追踪)攻击,通常就更不会用到了。
CONNECT:要求用隧道协议连接代理
CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道
协议进行TCP
通信。主要使用
SSL(Secure Sockets
Layer,安全套接
层)和TLS(Transport
Layer Security,传输层安全)协议把通信内容加
密后经网络隧道传输。
CONNECT方法的格式如下所示。
CONNECT 代理服务器名 : 端口号 HTTP 版本
相关文章推荐
- 批量删除记录时如何实现全选方法总结 (转)http://www.cnblogs.com/chenou/articles/1349646.html[Asp.net Ajax 控件]
- 关于ajax的XMLHttpRequest对象的方法总结
- http://wenku.baidu.com/view/26afdb8371fe910ef12df8ccRevit采用DWG和FBX两种格式导入3D max方法的总结
- Shell脚本8种字符串截取方法总结
- Shell脚本8种字符串截取方法总结
- 快速恢复精力的8种方法总结
- HTTP请求响应报文&&相关状态码&&GET_POST请求方法 总结
- HTTP请求方法总结
- 转载各种数据库的连接串(总结DSN的使用方法)http://hi.baidu.com/netwalker/home
- 8种MySQL分页方法总结
- WCF 部署问题 小总结 (HTTP 不能注册的解决方法 和 部署Bat脚本)
- WCF 部署问题 小总结 (HTTP 不能注册的解决方法)
- 总结C#语法中八武器(8种方法)
- [转]实现Python HTTP服务方法大总结
- HttpServletRequest方法总结
- 防盗链的8种方法总结及分析
- WCF 部署问题 小总结 (HTTP 不能注册的解决方法 和 部署Bat脚本)[转]
- HttpWebRequest和HttpWebRespone的常用方法总结
- 完美兼容各大浏览器获取HTTP_REFERER方法总结
- 8种MySQL分页方法总结