一、计算机网络基础
1、网络组成部分:由主机、路由器、交换机等组成
2、网络结构:网络的网络
3、信息交换方式:电路交换和分组交换
4、网络分层:分清职责,物理层、链路层、网络层、运输层和应用层
5、网络协议:标头和载荷
二、Web中的网络
1、HTTP 1 2 3的演进历史
①HTTP 1.0
·支持POST数据给服务器
·增加了HEAD获取报文头部
·支持传输二进制文件(包括图片、视频等)
·请求消息还有响应消息增加了一些元数据字段
·最大的缺点就是效率问题。由于HTTP协议基于TCP协议,1.0版本的一次请求就是一次TCP连接,请求完成之后TCP就断开,然后下一次重新建立连接 。
②HTTP 1.1
·增加持久连接
·引入了管线化,一次TCP连接可以同时发送多个HTTP请求,不用等待上一个请求成功后再发送
·当一组请求到了服务器端之后还是要经过排队处理,无法进行多工操作
③HTTP 2.0
·二进制分帧,可以减少错误
·多路复用,可以同时处理依据请求和和响应
·头部压缩,可以降低开销
·服务器推送,服务器可以再客户端进行解析HTML和发送内嵌资源时主动推送服务器觉得客户端需要的响应到客户端缓存当中,避免了往返延迟
④HTTP 3.0
·基于google的QUIC协议,而quic协议是使用udp实现的
·减少了tcp三次握手时间,以及tls握手时间
·解决了http 2.0中前一个stream丢包导致后一个stream被阻塞的问题
·优化了重传策略,重传包和原包的编号不同,降低后续重传计算的消耗
·连接迁移,不再用tcp四元组确定一个连接,而是用一个64位随机数来确定这个连接
·更合适的流量控制
2、CDN解决了HTTP协议之外的问题
①减少时延,提升用户上网体验
②降低网络流量
③降低内容源服务器压力
④增加内容源服务器安全性
3、WebSocket从HTTP协议升级而来
①较少的控制开销
②更强的实时性
③保持连接状态
④更好的二进制支持
⑤可以支持扩展
⑥更好的压缩效果
三、网络安全
1、网络安全三要素:机密性、完整性和身份验证
2、在没有提前交换秘密信息的前提下,无法在不安全的信道交换秘密信息
3、PKI保证了普通用户不需要“面对面”和根证书机构交换根证书
4、HTTPS使用PKI完成了除客户端身份验证以外的特性,客户端身份验证靠HTTP协议实现
附录:基础概念
1、HTTP
即Hyper Text Transfer Protocol,直译为“超文本传输协议”
·超文本:指文字、图片、视频、音频等的混合体,比如最熟悉的html。
·传输:http是一个“双向协议”,传输的是请求方和响应方之间的数据,不限制请求方和响应方之间的角色,传递的过程中可以存在任意“中间人”。
·协议:协是两个或多个参与者之间的交流,议是指对参与者之间的约定和规范。所以,http协议可以理解为作用在计算机之间,使用计算机能够理解的语言确立计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。
·总结:http是一个在计算机世界里专门在两点之间传递文字、图片、音频、视频等超文本数据的约定和规范。
2、CDN
内容分发网络,是一个互连服务器网络,可加快数据密集型应用程序的网页加载速度。CDN 可以表示内容分发网络或内容分配网络。当用户访问某个网站时,来自该网站服务器的数据必须通过互联网传输到用户的计算机。如果用户距离该服务器较远,则加载大文件(例如视频或网站图像)将需要很长时间。相反,如果网站内容存储在距离用户较近的 CDN 服务器上,就可以更快到达他们的计算机。