计算机网络
[TOC]
http是什么
[什么是http](https://juejin.cn/post/6981340714575593509 "什么是http")
http常见错误码
[http常见错误码](https://xiaolincoding.com/network/2_http/http_interview.html#http-常见的状态码有哪些 "http常见错误码")、[http状态码](https://juejin.cn/post/6869632310690611207 "http状态码")、[3xx的区别](https://blog.csdn.net/weixin_43964148/article/details/109352315 "3xx的区别")
7. 计算机网络
7.1.
7.1.1. 浏览器同源策略和跨域的多种解决方法
同源策略的目的是保证用户信息的安全,防止恶意网站窃取数据。
同源即:协议、域名、端口相同。
解决办法:
1. CORS:跨域资源共享,使用额外的HTTP头来告诉浏览器,让运行在一个origin上的web应用被准许访问来自不同源服务器上的指定的资源。
2. JSONP:利用script标签的src属性,发送带有callback参数的get请求,服务端吧返回数据拼凑到callback函数中,返回给浏览器,浏览器再进行解析执行。
3. 服务器代理:浏览器有跨越限制,但是服务器不存在这个问题,所以可以由服务器请求所要跨域的资源再返回给客户端。
7.1.2. Http/Https/WebSocket协议
1. http协议:超文本传输协议,通过浏览器和服务器进行数据交互,进行超文本(文本、图片、视频等)传输的规定。
2. https协议:Web浏览器和网站服务器之间传递信息时,如果采用HTTP协议(超文本传输协议),内容会以明文方式传送,没有任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。
为了解决HTTP协议的这一缺陷,需要使用另一种协议:HTTPS协议(安全套接字层超文本传输协议),为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
3. WebScoket协议:以前,很多网站为了实现推送技术,所用的技术都是轮询。轮询是指在特定的时间间隔(如每一秒),由浏览器对服务器发起HTTP请求,然后由服务器返回数据给浏览器。
由于HTTP协议是惰性的,只有客户端发起请求,服务器才会返回数据。WebSocket 的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话。