跨域

予早 2025-02-21 01:08:24
Categories: Tags:

浏览器同源策略要求一个页面(具有URL)中只能访问同源的资源(具有另外一个URL),即要求这两个URL同源,同源是指两个URL中协议、域名、端口均相同,若两者不同源,浏览器会先向目标资源发起一次预检请求,检查该资源能否跨域访问,能进行跨域访问时才会正式发起资源请求。

举例:

http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域)

http://www.123.com/index.html 调用 http://www.456.com/server.php (主域名不同:123/456,跨域)

http://abc.123.com/index.html 调用 http://def.123.com/server.php (子域名不同:abc/def,跨域)

http://www.123.com:8080/index.html 调用 http://www.123.com:8081/server.php (端口不同:8080/8081,跨域)

http://www.123.com/index.html 调用 https://www.123.com/server.php (协议不同:http/https,跨域)

请注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域。

如何设置资源可以跨域访问:

需要设置头信息

Access-Control-Allow-Origin

Access-Control-Allow-Method