前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Head 和 Options 请求

Head 和 Options 请求

作者头像
lonelydawn
发布2021-09-26 11:34:02
2.6K0
发布2021-09-26 11:34:02
举报

head

head请求是http1.0约定的三种请求方式之一,与get请求相似,但是响应报文中没有响应体,只有响应头。

我们可以通过响应头中的content-length、last-modifed、etag来判断资源实体是否发生了变化。

options

options请求是http1.1新增的请求方式,用于查询服务端性能,比如查询服务端支持的请求方式、查询服务端是否支持跨域等。 常见于客户端发送非简单请求和跨域请求之前的预检。

非简单请求

满足以下条件之一即为非简单请求:

  • 请求方式不为get、post、head
  • 请求头包含accept、accept-language、content-type、content-language之外的字段
  • content-type不为application/x-www-form-urlencoded、multipart/form-data、text/plain
为什么发送非简单请求之前要进行预检?

http是不断发展的,新增的请求方式和字段不一定被老的服务器系统所支持,因此需要先发送预检请求去询问一下服务端是否支持这种请求。

跨域

在进行跨域时,get请求只需要发送一次请求,而post则需要发送两次。

post请求之前会先发送一个options请求,请求头中包含origin字段,标识客户端所在的域,这次请求并不发送请求体。

服务端在收到options请求后,会查看请求头中origin标识的域是否在自己Access-Control-Allow-Origin配置的域中,如果在的话则表示允许跨域,并向客户端返回状态码100 Continue。

之后,客户端发送post请求,将请求体传到服务端。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • head
  • options
    • 非简单请求
      • 为什么发送非简单请求之前要进行预检?
    • 跨域
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档