Web瀏覽器的 Same-origin policy (同源政策)

2020/10/07閱讀時間約 2 分鐘
一串網址其實是這樣組成的:
scheme://host.domain:port/path/filename

舉例如下:
http://www.yahoo.com:8080/html/hello.php

http = scheme
www = host
yahoo.com = domain
8080 = port
html = path
hello.php = filename

所謂的同源,意思是scheme, host, domain, port 都一樣,就是同源。

同源政策是瀏覽器基於安全性考量而存在的一個政策,針對瀏覽器指令碼的限制。

假如今天我設計一個網站,透過ajax去拿別人的網頁資料,因為不同源,違反同源政策,js就無法拿到回傳的資料。

當然如果我不透過瀏覽器,就沒有這個限制了。

若是單純的把別人網站的img嵌入自己的網站,或是轉址到別人網站,或將別人網站用iframe嵌入自己網站,使用<script src="xxx"></script>,import css等等,則不受同源政策限制。
那麼有沒有什麼方式,可以讓我的javascript可以拿到不同源的資料呢?
有的,這邊就要提到CORS了,請參考下一篇。
為什麼會看到廣告
20會員
161內容數
留言0
查看全部
發表第一個留言支持創作者!