- TCP三次握手,四次挥手,以及为什么是三次和四次。
第一次握手,建立连接时,客户端首先发送SYN包到服务器,等待服务器确认。
第二次握手,服务器收到SYN包,发送ACK包和自己的SYN包给客户端
第三次握手,客户端收到服务器的ACK和SYN包,向服务器发送ACK包,客户端和服务器就开始传送数据。
第一次挥手,客户端向服务器发送一个FIN包。
第二次挥手,服务器收到FIN包后,发送一个ACK包给客户端。然后继续传送数据。
第三次挥手,服务器发送一个FIN包来关闭服务器到客户端的传送。
第四次挥手,客户端收到FIN包后,进入TIMEWAIT状态,然后发送ACK包给服务器,服务器进入CLOSED状态,完成四次挥手。然后如果两个MSL之后没有
收到报文就关闭了。
- TCP和UDP的区别。
1 TCP面向连接,UDP不需要连接。所以UDP速度比TCP快。
2 TCP是可靠的,UDP是不可靠的
3 TCP传输是有序的,UDP无序。
4 TCP对系统资源要求高,UDP比较少。同样的由于TCP报文结构比UDP复杂,所以网络开销比UDP大。
- TCP和UDP的优缺点
TCP 对系统资源要求高,网络开销大,速度慢。
UDP 不可靠,传输无序,会造成丢包
- Http&Https的区别
HTTPS需要到CA申请证书,HTTP不需要。
HTTPS是密文传输,HTTP是明文传输。所以HTTPS比HTTP安全。
连接端口不一样,HTTPS使用443端口,HTTP使用80端口。
- tcp五层网络模型,每次层分别有哪些协议,每层干了什么
物理层,连接层,网络层,传输层,应用层。
应用层层有HTTP协议,包装数据。
传输层有TCP和UDP协议,用来传输数据。
网络层,有IP协议,为每台计算机分配IP地址,ARP协议用来从IP地址获得MAC地址。确定把数据包送到哪里。
连接层,以太网协议。解读01信号。
物理层,传输0,1电信号。
- osi七层模型,ip在那层,http协议位于osi模型的哪一层?
物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。
ip在网络层,http在传输层。
- TCP,UDP,为什么可靠和不可靠
因为TCP要确保传输数据的正确性和有序性
而UDP只负责发送,不需要收到回应,所以有时候会出现丢包之类的情况。
- 四次挥手最后为什么是time_wait。timewait的时间为什么是2msl?多个客户端进入该状态,Tomcat服务器怎么处理。
1
(1) 确保有足够的时间让对方收到ACK包
(2)避免新旧连接混淆
2 因为服务器如果一个msl内没有收到ACK包,就会重新发送一个FIN包,这样就正好是两个。
- http响应码 403状态码 302 304
302 Found 重定向
304 Not modified 没有被改变
403 Forbidden 被禁止访问
- http协议与tcp/ip协议有什么区别?
TCP/IP协议是一个网络通讯协议。包含了HTTP协议。
Http协议是在应用层的,用来包装数据。
- tcp和http的关系
tcp在传输层
http在应用程序
- ping命令用的什么协议
ICMP
- 浏览器输入URL发生了什么?
DNS解析
然后TCP连接
发送HTTP请求
服务器处理请求并返回HTTP报文
浏览解析渲染页面
连接结束
- http是基于tcp还是udp. http是基于什么协议的?
基于tcp
- TCP的三次握手传送的是一些什么数据,最后一次握手可不可以不要?
第一次握手,客户端传送初始序号 x,还有同步标志1.
第二次握手,服务器传向客户端送为同步标志1,确认报文1,服务器序列号y,确认号x+1。
第三次握手,客户端传送确认报文1,序列号x+1,确认号y+1
不可以,因为有时候客户端可能发送一个syn包然后就下线了,服务端收到后发送同步包和序列包,然后就开始发送数据,但是客户端并没有收到。
- TCP三次握手,到底交换了什么?
交换了序列号,一个是客户端把他的序列号告诉了服务器,然后服务器把他的序列号告诉了客户端,然后因为syn占一个序号,所以然后客户端和服务器的系列号都加1进行数据传送。
- TCP的四次挥手传送的是一些什么数据,为什么服务器在响应客户端释放连接请求后要继续传送数据
第一次挥手,客户端传送结束报文1,序列号u;
第二次挥手,服务器传送确认报文1,序列号v,确认号u+1
第三次挥手,服务器传送结束报文1,确认报文1,序列号w,确认号u+1
第四次挥手,客户端传送确认报文1,序列号u+1,确认号w+1
因为服务器内容的可能还没有发完。比如信息未保存。
- 为什么四次挥手?
因为TCP是全双工通信,发送方和接受方都需要FIN报文和ACK报文。
- 为什么tcp连接需要3次断开是4次
因为四次挥手中,服务器端在客户端发送释放连接请求后,还有可能会继续发送数据,这样ACK包和FIN包分开发送,所以多了一次。
- TCP,四次挥手如果改为三次怎么样?
服务器在接受到客户端的fin包后,就直接合并fin包和ack包发送,不会继续发送数据。
- HTTP1.0和1.1的区别。
1.0 是短连接 1.1 可以保持长连接
1.0没有host域,1.1有,可以支持多个虚拟站点共享一个IP和端口。
- http 2.0和HTTP 1.1的区别
HTTP2 可以多路复用,一个连接处理更多的请求。
2可以对HEADER进行压缩,1不可以。
2中可以预取资源。
- .https怎么实现的?
就是在TCP和HTTP中加了一个SSL套接层加密数据。