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)。