计算机网络
1、TCP和UDP的区别
- TCP面向连接,UDP无连接
- TCP提供可靠服务,UDP不保证
- TCP面向字节流,UDP面向报文
- TCP传输速度慢,UDP快
2、TCP三次握手

3、为什么需要3次握手?
为了确保客户端和服务端的可靠通信,⽽三次握⼿最主要的⽬的就是双⽅确认⾃⼰与对⽅的发送与接收是正常的
第一次:服务端知道客户端发送正常,自己接收正常
第二次:客户端知道服务端发送和接收正常,自己接收,发送正常
第三次:服务端知道客户端接收正常,自己发送正常
4、回传SYN?
通知客户端,服务端接收到的消息确实是客户端传来的,起到一校验的作用。
5、四次挥手

6、为什么四次挥手
原因参照三次握手
中间ACK和FIN分开发送的原因:发送FIN是表示自己不再发送信息,,但还是会接收信息,而服务端此时可能还有数据未传输完,所以FIN和ACK分开发送
7、客户端为什么等待2MSL
保证客户端的最后一个ACK能够到达服务端,考虑服务器的FIN在传输过程中丢失,等待服务端重发FIN,从丢失到重发,最长需要2MSL时间,所以需要等待2MSL。
8、TCP如何保证可靠传输
- TCP会分隔应用数据,把它分割成最适合发送的数据块
- TCP对包编号,接收方对数据包排序
- 校验和,通过校验和判断传输过程中数据是否产生变化
- TCP会丢弃重复数据
- 流量控制:TCP利用滑动窗口实现,TCP接受端只允许发送端发送接收端缓冲区能接纳的数据,如果来不及接受,提示对方降低发送速率,防止丢包
- 拥塞控制
- ARQ协议
- 超时重传,开启定时器,等待确认报文,无法及时收到就重发报文
9、拥塞控制
TCP发送方维持一个拥塞窗口
拥塞控制的四种算法:
- 慢开始
- 拥塞避免
- 快重传
- 快恢复

10、url到显示主页的过程
这里是本来有一个链接的,知乎上的,等我找到再放上来好了。
11、HTTP1.0和1.1的区别
- 1.0短连接;1.1长连接
- 1.1新增22个错误状态码
- 1.1引入更多缓存策略
- 带宽优化及网络连接的使用,1.0可能只需要某个对象的部分,而服务器却传输整个对象;1.1引入range字段,允许只请求部分资源
12、URI和URL的区别
URI:统一资源标识符,可以唯一标识一个资源
URL:统一资源定位符,可以唯一定位一个资源,是一种具体的URI
13、HTTP和HTTPS的区别
- 默认端口:http80,https443
- 安全性能:http建立在TCP/IP上,明文传输;https建立在SSL/TSL上,SSL/TSL建立在TCP/IP上,采用对称加密和非加密结合的方式加密数据,安全性能更高,但性能消耗也越大