http是无状态协议 所以服务器为了辨识访问者是否已经访问过 会给浏览器一个cookie
浏览器再次访问时候 将cookie传过去 服务器就可以知道 该访问者已经登陆过 不需要再次登陆
但是早起 服务器是被动 也就是 当浏览器发起请求 才会有回应,如果说对于一些特殊情况,比如需要实时更新的股票信息,不免需要
浏览器每间隔一段时间重复去询问 查询股票是否已经变化
浏览器 股票涨了了吗 服务器 没有
浏览器 股票涨了了吗 服务器 没有
浏览器 股票涨了了吗 服务器 没有
浏览器 股票涨了了吗 服务器 没有
浏览器 股票涨了了吗 服务器 涨了
。。。这个过程叫轮询 效率是很低的
然后现在 websocket可以建立一个长连接 实现服务器与浏览器的实时通信 无需轮训
安全:
服务器通过cookie来辨识用户身份,因此cookie里实际上是存储有用户的加密信息,一但黑客获取到cookie便可以伪造用户身份去登陆,
比如获取到网银的cookie后 就可以去登陆用户的网银 因此是非常危险的
因此 浏览器有同源策略
除非两个网页的javascipt来自同一个源头 ,否则不允许一个网页的javaScript访问另外一个网页的内容 包括cookie DOM 等等
同一个源头指的是 url地址相同 端口号相同
同时 为了方便 支持 嵌入式的 跨域访问 比如 <script src="xxxx"> <img src="xxx"> 这种相当于是浏览器发起了一次ge