这是我参与「第五届青训营 」笔记创作活动的第9天
我将从以下几点去分享对于观看完“跨域技术概论”相关课程的收获,同时也分享一下自己学习的一些重要的知识点:
- 什么是跨域
- 什么是同源策略
首先,是关于什么是跨域。跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。
跨域的访问会带来许多安全性的问题,比如说,cookie一般用于状态控制,常用于存储登录的信息,如果运行跨域访问,那么别的网站只需要一段脚本就可以获取你的cookie,从而冒充你的身份去登录这个网站。因此会造成非常大的安全问题。所以,现代浏览器均推行同源策略。
那么,上面谈到了跨域的问题,也讲到了一个解决方案--同源策略。那么我们也讲一下什么是同源策略。出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)。
以上则是我个人的一点学习心得,欢迎各位优秀的开发者批评指正!