zoukankan      html  css  js  c++  java
  • 浏览器何时发送一个Option请求

    Http Options Method

    简而言之,OPTIONS请求方法的主要用途有两个:

    1、获取服务器支持的HTTP请求方法;

    2、用来检查服务器的性能。

    CORS(跨域资源共享)

    CORS是一种网络浏览器的技术规范,它为Web服务器定义了一种方式,允许网页从不同的域访问其资源。而这种访问是被同源策略所禁止的。CORS系统定义了一种浏览器和服务器交互的方式来确定是否允许跨域请求。 

    使用CORS的方式非常简单,但是需要同时对前端和服务器端做相应处理

    1、  前端

    客户端使用XmlHttpRequest发起Ajax请求,当前绝大部分浏览器已经支持CORS方式,且主流浏览器均提供了对跨域资源共享的支持。

    2、  服务器端

    如果服务器端未做任何配置,则前端发起Ajax请求后,会得到CORS Access Deny,即跨域访问被拒绝。

    Preflighted Requests(预检请求)

    Preflighted Requests是CORS中一种透明服务器验证机制。预检请求首先需要向另外一个域名的资源发送一个 HTTP OPTIONS 请求头,其目的就是为了判断实际发送的请求是否是安全的。

    下面的情况需要进行预检:

    一个简单的请求如下:

    • HTTP方法是下列之一
      • HEAD
      • GET
      • POST
    • HTTP头包含
      • Accept
      • Accept-Language
      • Content-Language
      • Last-Event-ID
      • Content-Type,但仅能是下列之一
        • application/x-www-form-urlencoded
        • multipart/form-data
        • text/plain

    任何一个不满足上述要求的请求,即被认为是复杂请求。一个复杂请求不仅有包含通信内容的请求,同时也包含预请求(preflight request)。

  • 相关阅读:
    poj2661Factstone Benchmark
    完整的微信接口类 (转)
    位运算(转载)
    PHP学习笔记之数组游标操作
    MYSQL数据库数据拆分之分库分表总结 (转)
    webservice使用
    MySQL索引类型总结和使用技巧以及注意事项 (转)
    PHP empty、isset、isnull的区别
    myisam和innodb的区别
    看看PHP迭代器的内部执行过程(转)
  • 原文地址:https://www.cnblogs.com/btgyoyo/p/6187229.html
Copyright © 2011-2022 走看看