什麼是背後的實際POST,UPDATE,PUT或DELETE請求時不同的域調用之前發送OPTION請求的原因? (所以CORS請求)我知道它應該檢查服務器是否可以處理真正的請求,但爲什麼不立即發送真正的請求?在CORS請求的POST之前使用OPTION請求的原因是什麼?
一些原因,我曾經想過:
- 看看該方法支持
- 發送真正的請求將返回相同的狀態代碼,所以 無需首先發送OPTION請求。
- 檢查用戶是否允許發送請求
- 沒有任何意義,因爲沒有身份驗證頭與OPTION發送請求在服務器上
- 防止重負載
- 沒有意義,因爲在處理數據之前檢查授權規則。
- 要檢查是否請求頭和原產地允許
- 這是它是如何工作了,但是又爲什麼不直接發送請求,我們可以從實際的請求讀取錯誤。
- 禁止發送POST數據,如果它不會被處理
- 這是唯一的原因是什麼是有效的。使用選項請求將阻止不必要地將發佈數據發送到服務器。不過,我認爲在99%的時間內這不是問題,因爲只發送一小塊數據。
有人可以提供一些線索上的原因,瀏覽器廠商調用不同的域時實施OPTION請求?