• problem:为什么会有options请求


    为了安全考虑,浏览器对资源访问有同源限制的问题,也就是web应用程序只能访问和它同一协议同一域名同一端口的web应用程序上的资源。

    通过跨域资源共享机制可以让资源在浏览器中访问与该资源本身不同域的资源,资源会发起一个跨域的http请求。

    浏览器发送options请求是一种cors预检测的行为,主要用来获取服务器支持的http请求方法和检查服务器的性能。

     什么情况下浏览器会发送options请求?

       预检测请求出现在跨域http请求中的非简单请求之前。

     什么是简单请求?什么是非简单请求?

      区别简单请求和非简单请求:请求方式、首部字段、content-type、xmlHttpRequestUpload有无注册任何事件监听、请求中有无使用ReadableStream

      简单请求:

       请求方式:get/head/post请求

       首部字段:只有Accept、Accept-Language、Content-Language、Content-Type等规范中定义的对cors安全对首部字段集合中的字段

       content-type:仅为text/plain、multipart/form-data、application/x-www-form-urlencoded

       xmlHttpRequestUpload没有注册了事件监听    

       没有使用ReadableStream

       非简单请求:

           和简单请求相反,非简单请求会发送预检请求,即在请求之前发一次options请求

       http系列之请求方法、http报文

       

    参考资料:

    MDN:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS

    https://cloud.tencent.com/developer/article/1046663

  • 相关阅读:
    新代(Syntec)机床的IP设置
    使用任务计划程序实现用户未登录情况下的程序开机自启动
    sql server 数据库访问端口配置
    Http请求
    EF
    SQL Server常用处理
    利用ZXing生成条码二维码例子
    SQL JOIN常见情况
    C#ORM框架收集
    sql server连接oracle并实现增删改查
  • 原文地址:https://www.cnblogs.com/yy95/p/9925354.html
Copyright © 2020-2023  润新知