Http協議什麼時候發生options請求?
其實透過http方式我們最常用的就是:GET,POST; 他們都可以作為前端和後臺的資料交換使用;
- 跨域呼叫,例如:除錯時候很多情況都在跨越方式下除錯
- 自定義頭部
- 請求頭的content-type引數:application/x-www-form-urlencoded,multipart/form-data,text/plain之外的格式
- 來源是否允許
- 自定義的頭部是否包含(這個和你專案有關)
- 來源是否允許
- 自定義的頭部是否包含(這個和你專案有關)
- 檢查content-type 的內容是否是你期望的
- Access-Control-Request-Method:告知伺服器,接下來請求將使用方法,例如POST
- Access-Control-Request-Headers:告知伺服器,接下來請求將攜帶的自定義請求首部欄位
以上三種情況出現就會出現options請求了,說白就是為了伺服器安全,例如:同源策略引發這個規則;
options通常是瀏覽器自動發起的,目的就是去伺服器檢查一下接下來要到用的方法(GET、POST、PUT、detele)在伺服器上是否支援;
檢查以下內容
如果你專案認為是安全的,直接返回200狀態碼,就可以;
如果你專案認為是安全的,直接返回200狀態碼,就可以
如果不允許你可以放回狀態碼400或者其他;
本來一個請求就搞定,結果頻繁多了很多options必然造成服務的壓力;
可以做到options請求做快取處理,例如: http:// www.**.com/api/getUser 介面會出現 options請求,我們在options返回是做一次options快取,告知前端以後在此請求這個介面就不要在發options了,伺服器響應時可設定 Access-Control-Max-Age 的時間,預設10分鐘;
和options有關的關鍵欄位作用
HTTP 的 OPTIONS 方法 用於獲取目的資源所支援的通訊選項。客戶端可以對特定的 URL 使用 OPTIONS 方法,也可以對整站(透過將 URL 設定為“*”)使用該方法。”
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994807/viewspace-2757156/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼時候會傳送options請求
- HTTP協議如何發起請求HTTP協議
- HTTP協議請求工作流程是什麼?linux學習HTTP協議Linux
- HTTP 協議六種請求方法HTTP協議
- 協議層的攻擊:HTTP請求走私協議HTTP
- CTFHub web前置技能HTTP協議請求方式WebHTTP協議
- HTTP協議的請求與資料抓包HTTP協議
- 解密協議層的攻擊——HTTP請求走私解密協議HTTP
- 解析HTTP協議六種請求方法,get,head,put,delete,post有什麼區別HTTP協議delete
- 在Linux中,我們都知道,dns採用了tcp協議,又採用了udp協議,什麼時候採用tcp協議?什麼 時候採用udp協議?為什麼要這麼設計?LinuxDNSTCP協議UDP
- Python 之requests封裝通用http協議介面請求Python封裝HTTP協議
- mysql什麼時候會發生file sortMySql
- HTTP協議是什麼?HTTP怎樣工作?-VeCloudHTTP協議Cloud
- 什麼時候採用socket通訊,什麼時候採用http通訊HTTP
- 前端必知必會HTTP請求系列(二)簡單一點的HTTP協議前端HTTP協議
- http協議請求方法有哪些?網路安全技術入門HTTP協議
- 解決 Laravel 接收非簡單請求時,只有收到 OPTIONS 請求的問題Laravel
- SQL Server儲存過程模擬HTTP請求POST和GET協議SQLServer儲存過程HTTP協議
- 極光HTTP之什麼是網路協議HTTP協議
- HTTP協議Cookie和Session有什麼區別HTTP協議CookieSession
- 網路安全網路協議知識點中,http協議是什麼?協議HTTP
- Swift:面向協議的網路請求Swift協議
- 挑選http時候需要注意什麼問題HTTP
- Web 後端什麼時候需要上協程?Web後端
- 課時6.HTTP協議(理解)HTTP協議
- options 請求跨域問題處理跨域
- http協議HTTP協議
- HTTP 協議HTTP協議
- 請求協議中的content-type頭協議
- go http請求GoHTTP
- http請求概述HTTP
- Jsoup http請求JSHTTP
- 什麼是HTTPS協議?為什麼要用HTTPS協議?HTTP協議
- React技巧之發出http請求ReactHTTP
- golang使用fasthttp 發起http請求GolangASTHTTP
- Java用HttpClient3傳送http/https協議get/post請求,傳送map,jsoJavaHTTPclient協議JS
- http協議中,“get”和“post”的區別是什麼HTTP協議
- 什麼會導致HTTP代理出現400錯誤請求HTTP