跳到主要内容

请求方法

2023年12月23日
柏拉文
越努力,越幸运

一、认识


方法描述特点
GET请求指定的页面信息,并返回实体主体。
HEAD类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
PUT从客户端向服务器传送的数据取代指定的文档的内容。
DELETE请求服务器删除指定的页面。
CONNECTHTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS允许客户端查看服务器的性能。
TRACE回显服务器收到的请求,主要用于测试或诊断。
PATCH实体中包含一个表,表中说明与该URI所表示的原内容的区别。
MOVE请求服务器将指定的页面移至另一个网络地址。
COPY请求服务器将指定的页面拷贝至另一个网络地址。
LINK请求服务器建立链接关系。
UNLINK断开链接关系。
WRAPPED允许客户端发送经过封装的请求。
Extension-mothed在不改动协议的前提下,可增加另外的方法。

二、问题


2.1 Get 和 Post 的区别

  • GET 在浏览器回退时是无害的,而 POST 会再次发起请求
  • 从缓存角度看,GET 请求后浏览器会主动缓存,POST 默认情况下不能。
  • 从参数角度来看,GET请求一般放在URL中,因此不安全,POST请求放在请求体中,相对而言较为安全,但是在抓包的情况下都是一样的。
  • 从编码角度看,GET请求只能经行URL编码,只能接受ASCII码,而POST支持更多的编码类型且不对数据类型限值。
  • GET请求幂等,POST请求不幂等,幂等指发送 M 和 N 次请求(两者不相同且都大于1),服务器上资源的状态一致。
  • GET请求会一次性发送请求报文,产生一个TCP数据包;POST请求通常分为两个TCP数据包,首先发 header 部分,如果服务器响应 100(continue), 然后发 body 部分。

2.2options 方法有什么用

OPTIONS请求与HEAD类似,一般也是用于客户端查看服务器的性能。

  • 这个方法会请求服务器返回该资源所支持的所有 HTTP 请求方法,该方法会用'*'来代替资源名称,向服务器发送 OPTIONS 请求,可以测试服务器功能是否正常。
  • JS 的 XMLHttpRequest对象进行 CORS 跨域资源共享时,对于复杂请求,就是使用 OPTIONS 方法发送嗅探请求,以判断是否有对指定资源的访问权限。