计算机网络概论--笔记
信息传输
创造节点,将多个远端统一传输到某一节点再传输至总服务器。
有种拿速度换成本的感觉。
~~丢,客户端原来相对的是服务端,那安卓苹果之类的统称为前端吗?还是也叫客户端?~~
网络基础
网络组成部分
主机:客户端和服务端
路由器
网络协议
个人理解
网络层->线路
传输层->通过线路发送“包”
应用层->包中内容
http 1-3
红(客户端发送):方法、HTTP版本、header
蓝(服务端传回):HTTP版本、状态码、自定义重要信息、header
队头堵塞,也就是不能并行吗?采取多链接解决,莫名想到go的并发,难怪go这么受欢迎?
http1.1 “多路复用”是指一个连接发送多个请求的“复用”吗?于是这里就诞生了一个不能区分的问题
http2 以帧区分发送的请求,使每个请求获得唯一标识。但依旧不能解决队头堵塞问题。
额外好处:调整响应传输的优先级,头部压缩,server push
~~没想到头部压缩还真就是单纯的对头部也进行了压缩,节省传输压力。还以为也跟帧相关是什么开创性的。~~
http3 QUIC - 1RTT :确认连接并提出请求,并且,添加一个“信任”,客户端重复请求可直接获取需求内容。
但这样的代价是什么呢?这个“信任”是储存在客户端的,如果访问了很多内容,会不会因为请求头过于复杂导致访问其他内容缓慢呢?
CDN
物理距离 流量消耗 大请求量
为了解决这些
请出了CDN
用户->DNS->CDN,get IP,进行连接。
有种总服务器分身的感觉,代行某些职能,给客户端返回需求信息。
我超,websocket!
一些特点:有状态持久连接;服务端可主动推送信息;发送消息延迟比HTTP低;实际由HTTP升级而来。
~~总算是明白写后端时网络协议升级指的是什么了~~
网络安全
机密性 (无法获知通信内容)
完整性 (被篡改时能被发现)
身份验证 (通信双方无法被伪装)
对称加密 :加密解密用同样密钥
非对称加密:加密解密使用不同密钥(公钥与私钥)而且公钥加密必被私钥解密 反之亦然
对于为什么必须公配私的思考: 全公则对于进攻者也是公,全私则加密方无法确定对方有什么私钥可以解密。
保证了唯一性嗷。
但这个哈希值看起来是根据内容生成的,那是不是会有某种规律,可根据该规律进行部分解密?毕竟输入内容可以混入部分混乱的内容使解密方无法硬猜内容生成哈希值比较,但可以摸部分关键词进行输入内容的部分确认?
秘密信息:加密算法和密钥等信息
完整性和身份验证是互相关联的。
这个例子给我一种感觉,身份实际也是内容的一部分,被伪装对于接收方来说是可以等于信息被篡改的,即完整性被破坏。这么想,感觉这两个实际接近。
实现完整性,通信双方需要先有秘密信息。
公私钥也使接收方无法确定身份验证是否是发送方,保证了完整性倒是。
身份验证则需先有秘密信息--根证书的公钥
把HTTP的明文换成密文再验证身份,即HTTPS
图13