热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

同源策略学习总结

一:前言JavaScript可以操作html,发出请求,也可以用iframe加载别的网站。为了防止当前登陆的网站去访问另一个已登录网站的信息
一:前言

Javascript可以操作html,发出请求,也可以用iframe加载别的网站。

为了防止当前登陆的网站去访问另一个已登录网站的信息,控制这个请求成功与否就叫同源策略

同源策略明确规定:不同域的客户端脚本在没明确授权的情况下,不能读写对方的资源

如何判断是同源:协议相同+域名相同+端口相同

注:www.example.com和 example.com也不是同一个域名,因为在设置dns解析的时候,可以把这个两个域名设置为不同的IP地址。


 二:禁止跨源

如果在浏览器中使用fetch("https://example.com")跨源访问其他网站,则会报错(原因:CORS 头缺少 'Access-Control-Allow-Origin')

三:跨源访问

事情没有太绝对,虽然同源策略是为了保护隐私,即,不是同源不可以访问对方的信息

但是在某些实际情况下,是可以进行协商的

1.jsonp

本质:跨源的对方给  发出请求的源的一段Javascript脚本执行,Script标签中的src属性是允许跨源的

2.CORS

原理:被请求的服务端获取发出请求方的请求后,给响应头加上Access-Control-Allow-Origin的相关信息,

浏览器就会放行请求,让请求方拿到数据

3.WebSocket

WebSocket是一种通信协议,使用 ws://(非加密)和wss://(加密)作为协议前缀

该协议不实行同源策略,只要服务器支持,就可以进行跨源通信


推荐阅读
author-avatar
倩女碧海蓝天_979
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有