1.计算机网络结构
五层结构:
- 应用层
- 运输层
- 网络层
- 数据链路层
- 物理层
TCP/IP结构:
- 应用层
- 运输层
- 网际层
- 网络接口层
OSI结构:
- 应用层
- 表示层
- 会话层
- 运输层
- 网络层
- 数据链路层
- 物理层
各层的职责:
应用层:通过应用进程之间的交互完成特定的网络应用
运输层:向两台主机进程之间提供通用的传输服务
网络层:选择合适的网间路由和交换节点,确保数据及时传输
数据链路层:将网络层传递下来的IP数据报封装成帧
物理层:实现计算机相邻节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异
2.三次握手:

2.1为什么需要三次握手?
(三次握手的本质是确认客户端和服务器之间的发送接收是否都正常)
1.第一次握手,客户端什么都无法确认,服务器可以确认自身接收和客户端发送没问题
2.第二次握手,客户端可以确认自身发送和接收,服务器的接收和发送也没问题,服务器可以确认自身接收和客户端发送没问题
3.第三次握手,客户端可以确认自身发送和接收,服务器的接收和发送也没问题,服务器可以确认自身接收和发送没问题,客户端的发送和接收也没问题
为什么需要回传SYN+ACK?为了告诉发送方我收到的的确是你发过来的信息,回传SYN只确保了发送方到接收方之间的通道是正常的,接收方到发送之间的通道还需要ACK来确认。这样才能真的确保双方之间的通信无误。
四次挥手:客户端和服务器任何一方都可以在数据传输结束后主动发起连接释放通知,对方确认后将进入半关闭状态,等到对方也没有数据发送的时候,则发出连接释放通知。对方确认后,TCP连接彻底关闭

例如客户端(左边)主动发出连接释放通知FIN,服务器(右边)收到了连接释放通知后,发出确认信息ACK,此时客户端进入半关闭状态,当服务器也发送了连接释放通知FIN后,客户端最后一次发送确认信息ACK,之后TCP连接彻底关闭。(ACK为收到的FIN序号+1)
2.2TCP协议如何保证可靠传输?
1.检验和
2.流量控制
3.拥塞控制
4.ARQ协议
5.超时重传
2.3ARQ协议:停止等待ARQ协议和连续ARQ协议
停止等待ARQ协议: 优点—简单 缺点—-通道利用率低、等待时间长
连续ARQ协议: 优点—-信道利用率高,容易实现,即使确认丢失,也不必重传。缺点—-不能向发送方反映出接收方已经正确收到的所有分组的信息 (l例如A—>B 发送5条数据 中间丢失3号数据 1–2–?–4–5最后按序到达的分组为1–2,所以需要重传3–4–5)
3在浏览器中输入URL到显示主页的过程?

- DNS解析
- TCP连接
- 发送HTTP请求
- 服务器处理请求并返回HTTP报文
- 浏览器解析渲染页面
- 连接结束
3.1Cookie的作用?和session的区别是什么?
两者都是用来跟踪浏览器用户身份的会话方式
作用:
Cookie一般用来保存用户信息,例如下次访问同一个网站的时候,登陆信息自动帮你填写好了,这是由于在Cookie中存放了Token,通过Token值获取了用户信息
session一般用来通过服务端保存用户状态,例如购物车场景
区别:Cookie 数据保存在客户端(浏览器端),Session 数据保存在服务器端。
3.2HTTP和HTTPS区别:
前者默认http://开始,端口默认80,后者默认https://开始,端口默认443,前者都是以明文的方式传输数据,后者是运行在SSL/TLS之上的HTTP协议采用对称加密传输数据,安全性高于http。