HTTP请求的方法有很多种,其中GET,POST是最常见的,下面介绍一下HTTP请求方法。
(1)GET
GET方法用于以实体的格式获取请求页面的指定消息。如果请求资源为动态脚本的话(例如jsp脚本),那么返回文本不是源代码,而是web容器解析后的HTML代码,GET请求对长度会有所限制,具体限制是由浏览器和服务器所决定的。
(2)HEAD
HEAD经常被用来测试超文本链接的有效性,可访问性和最近的改变。除了服务器不能在响应里返回消息主体外,其他都和GET方法类似,因此此方法是速度最快的方法,经常被用来编写扫描脚本。
(3)POST
POST方法也与GET方法类似,但是GET方法没有请求内容,而POST方法是有请求内容的。POST请求最多用于向服务器发送大量的数据,而且理论上POST请求的长度是没有限制的,相对于GET,POST的安全性相对来说要高,因为GET请求会将发送的数据显示在浏览器端,但POST不会。一般的上传文件,提交留言等,只要是要向服务器传递大量的数据,通常会用POST请求。
(4)PUT
PUT请求用于请求服务器把请求的实体存储在请求资源下,如果请求资源已经在服务器中存在,那么将会用此请求中的数据替换原先的数据,作为指定资源的最新修改版。如果请求指定的资源不存在,将会创建这个资源,且数据位请求正文。
(5)DELETE
DELETE方法用于请求源服务器删除请求的指定资源。服务器一般都会关闭此方法,因为客户端可以向服务端请求删除操作,这是相当危险的。
(6)TRACE
TRACE方法被用于激发一个远程的应用程的请求消息回路,相当于会回显服务器收到的请求。TRACE允许客户端去了解数据被请求链的另一端接收的情况,并利用这些数据去测试或诊断,但这种方法不常见。
(7)CONNECT
CONNECT是为了用于能动态切换到隧道的代理,HTTP1.1协议规范保留了CONNECT方法。
(8)OPTIONS
OPTIONS方法是用于请求获得由URL标识的资源在请求/响应的通信过程中可以使用的功能选项。通过这个方法,客户端可以再采取具体资源请求之前,决定对该资源采取何种必要措施,或者了解服务器的性能。
以上为HTTP请求的标准方法,但是HTTP中的请求方法远不止这些,例如WebDEV中的copy,move等,用来针对不同使用场景来实现不同的功能。