返回

跨域险恶用心大揭秘:揭开网页间的边界战争

前端

跨域的险恶用心:揭秘网页间的边界战争

跨域的根源

想象一下,互联网是一片广阔的海洋,而网页就像航行其中的船只。为了保障航海安全,每个国家(源)对所属船只(网页)出入境都有严格限制,这便是同源策略。协议、域名和端口三者缺一不可,如果两艘船只(网页)不属于同一国家(源),它们之间就不能通信。

跨域的产生:保护用户安全

跨域的限制旨在保护用户免受恶意船只(网页)的侵害。这些恶棍可能潜伏在海盗船(恶意网页)中,伺机窃取船上(用户)的财宝(隐私)或攻击他们的系统(电脑)。

跨域的迫切需求

然而,在实际航海中,我们经常需要跨越国界(跨域)来执行某些任务。比如,一艘船(网页)需要从另一艘船(网页)获取货物(数据),或者一艘船(网页)需要在另一艘船(网页)上播放一段视频。这就需要我们突破国界(浏览器限制),找到跨越边界的办法。

解决跨域的航海方法

解决跨域的方法就像是一条条航线,帮助船只(网页)安全渡过危险的边界海域。其中,最常用的航线是 CORS(跨域资源共享)协议。CORS 允许一艘船(网页)向另一艘船(网页)发送请求,并允许另一艘船(网页)返回货物(响应)。这条航线需要港口(服务器)的支持,港口需要在响应中设置允许的国家(源)。

另一种常用的航线是 JSONP(JSON with Padding)。JSONP 利用海鸥(