日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对 js 高程 Preflighted Reqeusts 的理解

發布時間:2023/12/13 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对 js 高程 Preflighted Reqeusts 的理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

看JS高程遇到 Preflighted Reqeusts不大理解,遂百度下:

轉自:http://todoit.me/ajax-preflight/

最近在做一個 VUE 的項目的時候, 和后端的小伙伴對接口, 想方便開發, 于是要求后端的小伙伴在所有的接口都加上跨域的許可 (Access-Control-Allow-Origin)

(后來事實證明這不是一個很好的解決方案, 因為 vue-cli 提供了 proxy-table 作為 AJAX請求的代理, 只需要配置一下就好, 編譯上線也不要改動代碼)

however, 經過這次折騰, 學到了preflight request的姿勢

preflight request 預請求

當你在跨域的情況下發送一個非簡單請求時:

瀏覽器預先發送一個 OPTIONS 請求, 來查明這個跨站請求對于目的站點是不是安全可接受的 當服務端對 OPTIONS 請求返回表示支持跨域請求的 Origin, method, headers 時, 瀏覽器才會發送你所需要的真正的跨域請求

什么是簡單請求
  • 只使用 GET, HEAD 或者 POST 請求方法。如果使用 POST 向服務器端傳送數據,則數據類型 (Content-Type) 只能是 application/x-www-form-urlencoded, multipart/form-data 或 text/plain中的一種。
  • 不包含自定義請求頭
舉個栗子
1. 發送預請求

我實際向服務端提交一個跨域的POST 請求, 請求的 Content-Type 是application/json, 這是一個非簡單請求, 所以瀏覽器會發送一個 method 為 OPTIONS的預請求, 到服務端查詢是否支持該跨域請求

請求信息:

Request URL: http://stu.dev/post Request Method:OPTIONS Access-Control-Request-Headers:content-type Access-Control-Request-Method:POST Origin:http://localhost:8080

OK, 注意后面三行

Access-Control-Request-Method: 在發出預檢請求時帶有這個頭信息, 告訴服務器在實際請求時會使用的請求方式

Access-Control-Request-Headers: 在發出預檢請求時帶有這個頭信息, 告訴服務器在實際請求時會攜帶的自定義頭信息. 如有多個, 可以用逗號分開.

Origin: 表明發送請求或者預請求的域

2. 服務端響應預請求
Access-Control-Allow-Headers:Content-Type Access-Control-Allow-Origin:* Allow:GET,HEAD,POST

服務端需要對預請求里對應的三個頭進行響應:

Access-Control-Allow-Headers:Content-Type: 表明服務端支持該跨域請求(實際請求)的請求頭, 對應預請求里的Access-Control-Request-Headers:content-type

Access-Control-Allow-Origin:*: 表明服務端支持跨域響應的域, 對應對應預請求里的Origin

Allow:GET,HEAD,POST 表明服務端支持該跨域請求的 Method

預請求的所有跨域頭得到允許以后(及以上三個請求頭一一對應), 瀏覽器才會發送實際請求, 所以服務端要根據預請求響應這三個請求頭

3. 發送實際請求.
4. 響應實際請求.
最后
解決辦法

如果你的跨域請求失敗, 原因是預請求得不到正確響應

  • 檢查預請求, (那個 options 請求)的三個請求頭Origin, Access-Control-Allow-Headers, Access-Control-Request-Method

  • 服務端分別加上

    Access-Control-Allow-Origin: <預請求的 Origin 內容 | * >,

    Access-Control-Request-Headers:<預請求的Access-Control-Request-Headers內容>

    Allow:<預請求的Access-Control-Request-Method的內容>

    這幾個響應頭

  • over.

    案例參考:

    打開http://www.uscfinvestments.com/usci,查看XHR中的https://cssecure.alpsinc.com/api/v1/dailyprice/usci的請求

    參考

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

    https://www.w3.org/TR/cors/#resource-preflight-requests

    https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Server-SideAccessControl#預請求

    轉載于:https://www.cnblogs.com/xianshenglu/p/8401134.html

    總結

    以上是生活随笔為你收集整理的对 js 高程 Preflighted Reqeusts 的理解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 冈本视频在线观看 | 国产精品自拍av | 欧洲女女同videos | 黄色录像毛片 | 福利免费在线观看 | 日本少妇久久久 | 久久中文一区 | 在线免费一级片 | 久久一区二区三区四区五区 | 九色视频偷拍少妇的秘密 | 欧美福利视频导航 | 禁漫天堂免费网站 | 伊朗做爰xxxⅹ性视频 | 狠狠操操 | 日韩电影观看 | 丰满大肥婆肥奶大屁股 | 男女三级视频 | 新av在线 | 免费的黄色的视频 | 久久在线中文字幕 | 国产激情一区二区三区视频免樱桃 | 91精品国自产在线偷拍蜜桃 | 亚洲乱论 | 在线观看www视频 | 熟女高潮一区二区三区 | 日韩av在线资源 | 亚洲午夜精品久久久久久app | 成人午夜免费观看 | 丰满人妻一区二区三区46 | 超碰在线最新地址 | 亚洲性片| 日日干视频 | 欧美有码在线观看 | 中文字幕――色哟哟 | 久操免费视频 | 羞羞答答av | 亚洲福利久久 | 欧美黑粗硬 | 黄色欧美视频 | 欧美丰满少妇 | 久久久久久精 | 亚洲av永久无码国产精品久久 | 久久九九久精品国产免费直播 | av成人天堂 | 丰满肥臀噗嗤啊x99av | 亚洲小说区图片区都市 | 黄a大片 | 五月婷婷在线播放 | 国产成人8x视频一区二区 | 午夜骚影| av动漫在线免费观看 | 国产男女在线 | 深夜视频一区二区三区 | 欧美无马| 二十四小时在线更新观看 | av网在线| 日韩亚洲一区二区三区 | 五月天婷婷综合 | 国产v在线| 欧美一级在线观看视频 | 亚洲最大的黄色网 | av最新版天堂资源在线 | 手机av网 | 国产成人精品aa毛片 | 男人操女人的免费视频 | 亚洲啪 | 三级中文字幕 | 蜜臀视频在线观看 | 在线免费观看国产 | 久久久观看 | 性色av一区二区三区四区 | 日韩成人福利视频 | 夜夜撸影院 | 亚洲乱强伦 | 三级色网| 特级淫片裸体免费看 | av男人的天堂av | 国产91丝袜在线播放九色 | 国产老头老太作爱视频 | 激情五月婷婷综合 | 国产精品91久久久 | 女人又爽又黄免费女仆 | 久久永久视频 | 日韩精品中文字幕一区二区 | 久久怡春院| 肉丝袜脚交视频一区二区 | 99国产精品久久久久久久 | 日本亚洲欧美在线 | 少妇人妻互换不带套 | 久久影院一区 | 香蕉视频免费看 | 在线免费观看 | 韩国av一区二区三区 | 日av中文字幕 | 中文人妻熟妇乱又伦精品 | 国产视频最新 | 久草97| 91夜色| 国产69精品久久久 |