zoukankan      html  css  js  c++  java
  • OPTIONS请求 简单请求与 非简单请求

    当浏览器发出了一个跨域的xhr的时候,浏览器会自动在请求头加上一些参数,

    对于简单请求和非简单请求是不一样的,先看一下简单请求的定义:

    (1) 请求方法是以下三种方法之一:

    • HEAD
    • GET
    • POST

    (2)HTTP的头信息不超出以下几种字段:

    • Accept
    • Content-Language
    • Content-Type:只限于三个值application/x-www-form-urlencoded、multipart/form-data、text/plain

    的时候是简单请求。

    对于简单请求,浏览器直接在请求头上加一个Origin字段,说明本次请求来自哪个源(协议+域名+端口)

     服务器根据这个值,决定是否,如果返回响应头没有Access-Control-Allow-Origin,那么会被前端xhronerror捕获(状态码是200)

    否则是非简单请求,对于非简单请求,浏览器会发出预检请求 options是浏览器的preflight(预检)请求,

    除了 Origin,至少还会多出两个字段 Access-Control-Request-Method、Access-Control-Request-Headers

    (1)Access-Control-Request-Method

    该字段是必须的,用来列出浏览器的CORS请求会用到哪个HTTP方法。

    (2)Access-Control-Request-Headers

    该字段是一个逗号分隔的字符串,指定浏览器CORS请求会额外发送的头信息字段。

    与JSONP的对比

    CORS与JSONP的使用目的相同,但是比JSONP更强大。

    JSONP只支持GET请求。

  • 相关阅读:
    小事引发的思考
    C++程序设计教程学习(0)-引子
    Cygwin安装
    PATHEXT环境变量简介
    Oracle Real Application Cluster
    SQLNET.AUTHENTICATION_SERVICES参数说明
    用神经网络拟合数据
    用PyTorch自动求导
    用PyTorch做参数估计
    深度学习基础(概念性)
  • 原文地址:https://www.cnblogs.com/eret9616/p/9791973.html
Copyright © 2011-2022 走看看