1、TCP和UDP协议的区别
- TCP是面向连接的可靠的
- UDP是无连接的不可靠的
2、在浏览器输入URL地址到显示网页的过程
- 查找域名的IP地址(浏览器缓存、路由缓存、DNS缓存)
- 建立TCP连接
- 发送HTTP请求
- 服务端处理HTTP请求
- 返回HTML相应
- 渲染页面显示HTML
3、 TCP连接的三次握手和四次挥手
3.1 三次握手
- 发送方发送SYN同步信号到接收端表明想建立TCP连接
- 接收方收到信号后,发送SYN同步信号和ACK确认信号到接收方
- 发送方收到信息后,发送ACK确认信号到接收方,正式建立连接
为什么三次握手?
- TCP是一个可靠的网络传输协议,保证建立可靠连接最少的连接数是三个
- TCP连接确认不能通过两次确认。两次的话,接收方发送到发送方的报文因延迟,被接受到,接收方以为建立连接了,在等待发送方发送报文,浪费资源。
3.2 四次挥手
- 主动关闭方发送FIN关闭信号到被动关闭方。
- 被动关闭方收到信息后发送ACK确认信息到被动关闭方
- 主动关闭方停止数据传送,但是被动关闭方还有可能传输数据
- 被动关闭方传输完成数据后,发送FIN关闭信号到主动关闭方。
- 主动关闭方收到信息后,发送ACK确认信号到被动关闭方,彻底关闭TCP连接。
为什么四次挥手?
- TCP连接为全双工通信,双方可以互相向对方发送信息。
- 主动关闭的一方只能主动关闭该方的连接,但是被动关闭方可能还有数据要传输,传输完成后,再进行关闭。
4、HTTP和HTTPS区别
- HTTP(超文本传输协议)、端口80、明文传输
- HTTPS(基于SSL的传输协议)、端口443、加密传输
5、HTTP状态码
- 1xx 信息
- 2xx 成功 例如:200 请求成功
- 3xx 重定向 例如:302 重定向
- 4xx 客户端错误 例如:404 not found
- 5xx 服务端错误 例如:502 网关错误
6、HTTP请求中POST和GET方法区别
- post常用于上传内容、get常用于获取内容
- post将参数携带在报文中,get则放在url中。
- post传输数据无限制,get则是2048个字节
- get请求是幂等的