zoukankan      html  css  js  c++  java
  • 在fetch方法中添加header后遇到的预检请求问题

    今天在使用fetch方法

    fetch('xxx.com',{header:{bbbbbbb:111}})

    浏览器返回的请求信息中,header变成了

    :authority:koss.nocorp.me
    :method:OPTIONS
    :path:/?a=1
    :scheme:https
    accept:*/*
    accept-encoding:gzip, deflate, br
    accept-language:zh-CN,zh;q=0.8
    access-control-request-headers:bbbbbbbbbbb
    access-control-request-method:GET
    origin:http://localhost:3333
    referer:http://localhost:3333/
    user-agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36

    而该次请求的Request Method也变成了OPTION,不论是生成的奇怪请求头,还是OPTION方法,都是没有遇见过的。

    这次请求与平时开发中发送的请求有以下几点不同

    1.该次请求对象网站是跨域地址

    2.本次请求添加的请求头服务端不会获取

    遂根据浏览器返回的请求信息字段名进行查询,查询得知

    access-control-request-headers:bbbbbbbbbbb
    access-control-request-method:GET

    名为预检头,是CORS请求中用于向服务端发送请求时获取准许的一个步骤。服务端的回应主要在Response 中的Access-Control-Allow-Origin字段体现。

    具体相关信息可以查阅MDN:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS

  • 相关阅读:
    LightOJ 1094
    hdu 2586
    hdu 5234
    hdu 2955
    LightOJ 1030 数学期望
    poj 1273
    CodeIgniter学习笔记(十五)——CI中的Session
    CodeIgniter学习笔记(十四)——CI中的文件上传
    CodeIgniter学习笔记(十三)——CI中的分页
    CodeIgniter学习笔记(十二)——CI中的路由
  • 原文地址:https://www.cnblogs.com/whoismagin/p/7452969.html
Copyright © 2011-2022 走看看