OPTIONS請求 簡單請求與 非簡單請求

2022-06-22 02:12:06 字數 679 閱讀 9810

當瀏覽器發出了乙個跨域的xhr的時候,瀏覽器會自動在請求頭加上一些引數,

對於簡單請求和非簡單請求是不一樣的,先看一下簡單請求的定義:

(1) 請求方法是以下三種方法之一:

(2)http的頭資訊不超出以下幾種字段:

的時候是簡單請求。

對於簡單請求,瀏覽器直接在請求頭上加乙個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請求會額外傳送的頭資訊字段。

cors與jsonp的使用目的相同,但是比jsonp更強大。

jsonp只支援get請求。

請求中的options請求

專案網域名稱和介面網域名稱不同,服務端做了 打算把token放到headers中的時候出現options 請求就詳細看了下 瀏覽器將cors請求分為兩類 簡單請求和非簡單請求,簡單請求瀏覽器不會預檢,而非簡單請求會預檢。簡單請求的請求方式只能是 get post head。http請求頭限制這幾種字...

前端OPTIONS請求

今天在專案除錯中,需要在 裡獲取前端請求頭里的token,結果死活獲取不到。debug了半天發現前端一共傳送了兩次請求,真正的請求的第二次。options請求方法的主要用途有兩個 1 獲取伺服器支援的http請求方法 也是黑客經常使用的方法。2 用來檢查伺服器的效能。例如 ajax進行跨域請求時的預...

配置OPTIONS請求

協議 http或者https ip 埠三者都相同,則為同源,否則為跨域。跨域請求,就是這麼來的。配置options請求,有兩種情況,第一種是開發環境,第二種是測試環境 生產環境。開發環境,配置如下 配置 修改config index.js檔案 dev 修改src main.js檔案,全域性註冊,只要...