post請求帶來的option

2021-09-11 13:40:16 字數 806 閱讀 7487

關於前端通過post請求調伺服器資訊的時候,我們會發現兩條請求,一條請求的request method為options,另一條請求的reuest method為post。

在網上閱讀一些資訊之後發現和三個基本概念有關係

簡而言之,options請求方法的主要用途有兩個:

cors(跨域資源共享)

cors是一種網路瀏覽器的技術規範,它為web伺服器定義了一種方式,允許網頁從不同的域訪問其資源。而這種訪問是被同源策略所禁止的。cors系統定義了一種瀏覽器和伺服器互動的方式來確定是否允許跨域請求。

客戶端使用xmlhttprequest發起ajax請求,當前絕大部分瀏覽器已經支援cors方式,且主流瀏覽器均提供了對跨域資源共享的支援。

如果伺服器端未做任何配置,則前端發起ajax請求後,會得到cors access deny,即跨域訪問被拒絕。

preflighted requests(預檢請求)

preflighted requests是cors中一種透明伺服器驗證機制。預檢請求首先需要向另外乙個網域名稱的資源傳送乙個 http options 請求頭,其目的就是為了判斷實際傳送的請求是否是安全的。

下面的2種情況需要進行預檢:

設定自定義頭,比如 x-json、x-mengxianhui 等。

請求方法之Option

除了常用的get post請求方法以外還有乙個請求方法是經常遇到的,那就是option預檢請求 option用來查詢針對請求uri指定的資源支援的方法。簡單來說就是傳送option請求詢問伺服器,你支援哪種請求方法啊?支援get,post和option 如圖 響應頭引數中allow,表示伺服器允許的...

跨域避免 option 請求

悟空h5專題採用的是前後端分離方案,伺服器網域名稱和專題網域名稱不一致,會受到瀏覽器同源策略影響。我們發現資料主介面會發起兩次,其中第乙個請求為預檢請求。用於獲取目的資源所支援的通訊選項。客戶端可以對特定的 url 使用 options 方法,也可以對整站 通過將 url 設定為 使用該方法。在 c...

Get請求 Post請求

複製直接用 post同步請求 void synchronourequestbypost post非同步請求 1.方法 void asynchronourequestbypost void connection nsurlconnection connection didreceiveresponse...