瀏覽器何時發送一個Option請求


Http Options Method

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

1、獲取服務器支持的HTTP請求方法;

2、用來檢查服務器的性能。

CORS(跨域資源共享)

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

使用CORS的方式非常簡單,但是需要同時對前端和服務器端做相應處理

1、  前端

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

2、  服務器端

如果服務器端未做任何配置,則前端發起Ajax請求后,會得到CORS Access Deny,即跨域訪問被拒絕。

Preflighted Requests(預檢請求)

Preflighted Requests是CORS中一種透明服務器驗證機制。預檢請求首先需要向另外一個域名的資源發送一個 HTTP OPTIONS 請求頭,其目的就是為了判斷實際發送的請求是否是安全的。

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

一個簡單的請求如下:

  • HTTP方法是下列之一
    • HEAD
    • GET
    • POST
  • HTTP頭包含
    • Accept
    • Accept-Language
    • Content-Language
    • Last-Event-ID
    • Content-Type,但僅能是下列之一
      • application/x-www-form-urlencoded
      • multipart/form-data
      • text/plain

任何一個不滿足上述要求的請求,即被認為是復雜請求。一個復雜請求不僅有包含通信內容的請求,同時也包含預請求(preflight request)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM