首頁  >  文章  >  web前端  >  儘管我已允許“https://example.com/”,為什麼來自來源“https://example.com”的訪問仍被阻止?

儘管我已允許“https://example.com/”,為什麼來自來源“https://example.com”的訪問仍被阻止?

Linda Hamilton
Linda Hamilton原創
2024-11-01 13:26:02535瀏覽

Why is Access from Origin 'https://example.com' Blocked Even Though I've Allowed 'https://example.com/'?

儘管我允許“https://example.com/”,但來自來源“https://example.com”的訪問已被阻止 h2>

在嘗試跨網域存取資源時,開發人員經常會遇到與Access-Control-Allow-Origin header 相關的問題。解決這些問題的關鍵在於理解 CORS 協議中「起源」的準確含義。

CORS 中起源的概念

在 CORS 中,來源是方案、主機(域)和連接埠的組合。重要的是,它不包含路徑。因此,以下兩個來源被認為是不同的:

  • https://example.com
  • https://example.com/path/to/resource

問題:起源中的尾部斜槓

這種特殊情況下的問題源自於對起源定義的誤解。具體來說,根據 CORS 協定規範,不允許在允許的來源中使用尾部斜線。因此,瀏覽器發送的來源標頭(不含尾部斜杠)與伺服器上配置的允許來源不符。

解決方案:從允許的來源中刪除尾斜線

要解決此問題,只需從CORS 配置中允許的原始值中刪除尾部斜槓即可。在這種情況下,正確的允許來源將是:

  • https://googledocs-clone-sbayrak.netlify.app

透過此修改,瀏覽器的原始標頭將匹配允許的來源,並且CORS 將成功允許。

以上是儘管我已允許“https://example.com/”,為什麼來自來源“https://example.com”的訪問仍被阻止?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn