瀏覽器什麼時候發送一個Option請求

Http Options Method前端

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

一、獲取服務器支持的HTTP請求方法;瀏覽器

二、用來檢查服務器的性能。安全

CORS(跨域資源共享)服務器

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

使用CORS的方式很是簡單,可是須要同時對前端和服務器端作相應處理app

一、  前端性能

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

二、  服務器端code

若是服務器端未作任何配置,則前端發起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)。

相關文章
相關標籤/搜索