小林coding|计算机网络
应用层
HTTP报文有哪些部分?
Http1.1和2.0的区别是什么?
- HTTP/1.1 的问题:
在 HTTP/1.1 中,虽然引入了持久连接(Keep-Alive),允许在同一个TCP连接上发送多个请求,但这些请求必须是串行的。即,必须等上一个请求的响应完全返回后,才能发送下一个请求。如果第一个请求的响应很慢(比如一个大图片),后面的所有请求都会被阻塞,这就是“队头阻塞”。
- HTTP/2 的解决方案:可以并发的流水执行
HTTP到底是不是无状态的?
无状态说的是http,是不会携带客户端的状态。
传输层
TCP三次握手过程说一下?
SYN位=1.这个包就叫SYN包
ACK=1,这个包就是ACK包
TCP 三次握手,客户端第三次发送的确认包丢失了发生什么?(第三次握手丢失)
【服务器重传】,是2^n增长(n是重传次数)
客户端发送的第一个 SYN 报文,服务器没有收到怎么办?(第一次握手丢失)
会触发SYN【客户端重传】机制,2^n增长(n是重传次数)
服务器收到第一个 SYN 报文,回复的 SYN + ACK 报文丢失了怎么办?(第二次握手丢失)
【客户端重传】+【服务端重传】
TCP的拥塞控制介绍一下?
当这个网络下很多个用户使用tcp时,会造成网络卡顿。大家的网速都会变卡
网络场景
URL是什么?
我们以一个常见的 URL 为例:
https://www.example.com:8080/path/to/myfile.html
一个标准的 URL 通常包含以下几个部分:
你知道ping是怎么工作的吗
ICMP协议
网页非常慢转圈圈的时候,要定位问题需要从哪些角度?
1.抓包。抓DNS看是否解析出了IP地址。没有解析出来是因为域名拼写错误。抓TCP三次握手,再看看HTTP请求,HTTP响应报文。HTTP响应报文中的状态码。