计算机网络概论
网络基础
网络组成部分:由主机、路由器、交换机组成。
网络结构:网络的网络
网络分类:广域网,局域网,城域网,个人区域网。
信息交换方式:电路交换&分组交换
网络分层:物理层,数据链路层,网络层,运输层,应用层
主机:客户端和服务端
路由器:
web中的网络
网络协议:标头和载荷
1、存在依赖于连接
2.定义了在两个或多个通信实体之间交换的报文顺序和格式,以便报文发送或接受或其他事件所采取的动作。(ASCII码)
3.HTTP协议(一种用于分布式、协作式和超媒体信息应用系统的应有层协议)
(1)请求报文结构
请求行 { 请求方法(get/post等)+ URL + 协议版本号 } +
头部 { 按照规范,根据自己需要来选择性添加 } +
包体 { 即数据内容,post请求时,这部分才有数据;get请求时,数据附在URL参数里,格式为【URL?参数名=参数值】 }
(2)响应报文结果
状态行 { 协议版本号 + 状态码 + 状态码说明 } + 头部 { 按照规范,根据自己需要来选择性添加 } + 包体 { 一般为服务端返回给客户端的数据
问题:队头堵塞
(3)典型事务处理过程:(请求-响应模型)客户与服务器建立连接;
客户向服务器提出请求;
服务器接受请求,并根据请求返回相应的文件作为应答;
客户与服务器关闭连接。
(4)一收一发(一次性链接,进处理一次请求)
(5)无状态协议
服务器不保留与客户交易时的任何状态
(6)面向对象
HTTP1.1:无法多路复用
HTTP2:将多个HTTP请求拆分到帧,每个帧可携带不同HTTP请求\
第1-3个字节:帧的载荷长度
第4个字节:帧的类型
第5个字节:帧的状态
第6个字节:第一位保留位 后为帧所属流的ID(stream ID)
7-:载荷
其他好处:1.调整响应传输的优先级 2.头部压缩 3.server plush
缺点:队头堵塞,但是在TCP上。
HTTP3:
QUIC:
1、现存网络设备对TCP和UDP支持已僵化
2、UDP不靠谱但QUIC靠谱
3、QUIC可以为出HTTP以外的应用层协议提供支持
可实现QUIC-1RTT,QUIC-0RTT文件
CDN:DNS劫持
域名解析一般由网站自己处理
要加速的域名则定向到CDN厂商的域名解析服务处理。
CDN厂商根据来源确定最近的CDN服务器ID
用户直接访问最近的服务器
WebSocket
有状态的持久连接
服务器可以主动推送信息
用WebSocket发送信息迟延比HTTP低
网络安全:
三要素:机密性,完整性,身份验证
加密:对称加密和非对称加密
对称加密:加密、解密用同样的密钥
非对称加密:加密、解密使用不同的密钥(公钥和私钥),而且公钥加密只能用私钥解密
私钥加密只能用公钥解密。
密码散列函数(哈希函数):
输入:任意长度的内容
输出:固定长度的哈希值
性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的。
PKI保证了普通用户不需要“面对面”的根证书机构交换根证书
HTTP使用PKI完成了除客户端身份验证以外的特征,客户端身份验证靠HTTP实现