这是我参与「第五届青训营 」伴学笔记创作活动的第 24 天
今天学习了计算机网络相关知识,以下是总结的计算机网络相关知识点
-
ICMP协议,有了解吗?
-
ICMP是(Internet Control Message Protocol)Internet控制报文协议
-
主要功能(Ping)
- 确认IP包是否成功到达目标地址
- 通知在发送过程中IP包被丢弃的原因
-
-
HTTP和HTTPS的区别是什么?
-
http版本相关
-
HTTP0.9
- 最早版本是
1991年发布的0.9版。该版本极其简单,只有一个命令GET。协议规定,服务器只能回应HTML格式的字符串,不能回应别的格式。服务器发送完毕,就关闭TCP连接
- 最早版本是
-
HTTP1.0
- 除了
GET,还引入了POST和HEAD方法,丰富了浏览器与服务器的互动手段。此时不仅可以传输文字,还能传输图像、视频、二进制文件。HTTP/1.0版的主要缺点是,每个TCP连接只能发送一个请求。发送数据完毕,连接就关闭,如果还要请求其他资源,就必须再新建一个连接(短连接)
- 除了
-
HTTP1.1
- 默认使用长链接,支持管道化,不必等前一个请求响应才发出第二个请求,还提供了与身份认证、状态管理和
Cache缓存等机制相关的请求头和响应头此外,还新增了五种请求方法:OPTIONS,PUT,DELETE,TRACE和CONNECT,并且增加了host字段
- 默认使用长链接,支持管道化,不必等前一个请求响应才发出第二个请求,还提供了与身份认证、状态管理和
-
HTTP2
- HTTP/2 协议是基于 HTTPS 的,所以 HTTP/2 的安全性也是有保障的。
- HTTP/2 会压缩头(Header)如果你同时发出多个请求,他们的头是一样的或是相似的,那么,协议会帮你消除重复的部分
- HTTP/2 不再像 HTTP/1.1 里的纯文本形式的报文,而是全面采用了二进制格式,头信息和数据体都是二进制,并且统称为(frame):头信息帧和数据帧。这样虽然对人不友好,但是对计算机非常友好,因为计算机只懂二进制,那么收到报文后,无需再将明文的报文转成二进制,而是直接解析二进制报文,这增加了数据传输的效率
- HTTP/2 的数据包不是按顺序发送的,同一个连接里面连续的数据包,可能属于不同的回应。因此,必须要对数据包做标记,指出它属于哪个回应。每个请求或回应的所有数据包,称为一个数据流( Stream )。每个数据流都标记着一个独一无二的编号,其中规定客户端发出的数据流编号为奇数, 服务器发出的数据流编号为偶数。客户端还可以指定数据流的优先级。优先级高的请求,服务器就先响应该请求
- HTTP/2 还在一定程度上改善了传统的「请求 - 应答」工作模式,服务不再是被动地响应,也可以主动向客户端发送消息。举例来说,在浏览器刚请求 HTML 的时候,就提前把可能会用到的 JS、CSS 文件等静态资源主动发给客户端,减少延时的等待,也就是服务器推送
-
HTTP3
- HTTP/2 主要的问题在于,多个 HTTP 请求在复用一个 TCP 连接,下层的 TCP 协议是不知道有多少个 HTTP 请求的。所以一旦发生了丢包现象,就会触发 TCP 的重传机制,这样在一个 TCP 连接中的所有的 HTTP 请求都必须等待这个丢了的包被重传回来。所以 HTTP/3 把 HTTP 下层的 TCP 协议改成了 UDP
-
-
数字证书使用了什么机制? 数字证书为什么可以被创建?
-
http的三次握手四次挥手
-
http的几种常见状态码
-
http长连接
-
SSL协议和TLS协议
-
SSL 和 TLS 没有太大的区别。
SSL 指安全套接字协议(Secure Sockets Layer),首次发布与 1996 年。SSL 的首次发布其实已经是他的 3.0 版本,SSL 1.0 从未面世,SSL 2.0 则具有较大的缺陷(DROWN 缺陷——Decrypting RSA with Obsolete and Weakened eNcryption)。很快,在 1999 年,SSL 3.0 进一步升级,新版本被命名为 TLS 1.0。因此,TLS 是基于 SSL 之上的,但由于习惯叫法,通常把 HTTPS 中的核心加密协议混成为 SSL/TLS。
-
-
浏览器解析页面的过程(TODO 进一步细化到ARP层)
- 在地址栏中输入URL
- 对输入的URL进行DNS解析,获取目标服务器IP地址,优先浏览器DNS缓存查询>本地host文件查询,如没有则进行递归或迭代查询,本地区的域名服务器>根DNS域名服务器>顶级域名服务器>依次向下
- 像目标IP发送http请求
- 建立tcp链接
- 接受返回数据
- 浏览器渲染线程解析html文件,方向由上至下
- 解析HTML文件标签对并渲染
- (从dhcp,到dns解析,到http,到tcp,到arp,到nat、到局域网,因特网,我很详细地说了)
-
如何基于udp实现可靠传输
- TCP的缺点:TCP 就没什么缺陷吗? (qq.com)
- zhuanlan.zhihu.com/p/405387352
- 不应该考虑如何在应用层实现TCP的特点(那样不如直接使用TCP),而是要强调UDP的特点
-
线性一致性是什么