http 中定义的八种请求的介绍
在http1.1协议中,共定义了8种可以向服务器发起的请求(这些请求也叫做方法或动作),本文对这八种请求做出简要的介绍:
1、PUT:put的本义是推送
这个请求的含义就是推送某个资源到服务器,相当于是上传。
2、POST:post可以理解为提交
这个请求会将客户端的资源提交到服务器上,通过URI 标识,告诉服务器要提交什么资源,如果资源不存在,那么就会新增,如果已经存在了,那么就会覆盖。
3、DELETE:
这个请求会删除服务端的某个资源。
4、GET:
这是一个向服务端资源的一个请求,他通过将所要资源的标识,如用户名、关键字(admin、keyword)放在url中(所以这个请求不安全),一并传送给服务器,然后服务器会根据传入参数返回具体的结果(如请求错误、请求的具体资源)
5、HEAD:
这个请求与GET请求是一样的,都是通过传入参数,要求返回指定的结果。不同之处在于,HEAD只要返回报文的头部就可以,不需要返回全部信息.这个方法主要用于查看资源是否存在,同时是并不关心资源的具体内容。
6、TRACE:trace可以理解为跟踪
这是一个将服务器所收到请求回显给客户端的请求,主要用于测试或诊断。
7、OPTIONS:option的本义是选择、选项。
这个请求的意义是:返回对于指定资源,我们可以使用的请求类型。
这个方法在正常工作中使用的比较少,它一般用途是,我们在正式请求资源之前,先看看对于资源都可以使用那些请求,然后再做出具体的请求。利用这个特性我们也可以查看服务器的性能。
对于我们具体请求哪个资源是通过URI来标识的。
发起请求后,服务器会返回一个带有"Allow"的头,在正文中会找到该资源对应可以使用的方法。
当这个URI我们用'*',此时我们请求的就是整个服务器,而并非某一个具体的资源。
此时对服务器发起OPTIONS请求,相当于是ping,根据对服务器收发包的情况就可以分析出服务器的性能了。
8、CONNECT请求
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。通常用于SSL加密服务器的链接(经由非加密的HTTP代理服务器)。
注意:这些请求都是区分大小写的,当我们针对某种资源发起的请求,并不被该资源所支持时,服务器会返回一个 405(该请求不被允许)的错误。
当我们发起的请求,服务器不支持,或不认识时,会返回一个501的错误码(该请求未被实现)