2013-11-20 41 views
3

在ASP.NET WebApi2中,如果存在內部服務器錯誤,則發送500響應而不是 Access-Control-Allow-Origin標頭,即使當CORS is enabledCORS和內部服務器錯誤響應

這導致瀏覽器報告CORS錯誤,而不是內部服務器錯誤。

我想一個處於錯誤狀態的服務器可能無法報告它將響應的來源,所以在我看來,瀏覽器應該處理這種特殊情況並報告內部錯誤,而不是CORS。

A)有沒有辦法讓內部服務器錯誤顯示在瀏覽器中作爲我的請求失敗的原因? B)應該向瀏覽器提出這個問題嗎?

回答

3

根據CORS規範,如果響應中不包含正確的跨源請求確認,則用戶代理(瀏覽器)不應該透露有關請求的任何內容。所以,瀏覽器都遵循這個規範,沒有什麼可以做的。如果要以編程方式顯示客戶端的底層響應狀態,則服務器需要通過包含適當的訪問控制 - 允許標頭正確確認跨源請求。

+0

再想一想,這是一個合理的安全措施。我將嘗試找出用asp.net webapi2在內部錯誤上包含頭部的最佳方法。 – Jesse

相關問題