1、HTTP 协议是无状态的 是什么意思?
HTTP 对于 客户端发送请求、服务器端响应请求的过程,是没有记忆的,下一次客户端再发送请求,服务器是不会识别出这是之前连接过的客户端。
HTTP 协议的无状态性 :
不对 请求 和 响应 之间的通话状态进行保存。(不进行持久化处理)
协议对于事务没有记忆能力,服务器不知道客户端是什么状态。
优点:解放了服务器,减少服务器的 CPU 及资源消耗。
缺点:每次请求都会传输大量复杂的内容信息。
HTTP协议的无连接性:
请求时建立连接 ,请求完释放连接。每次连接只处理一个请求。
2、HTTP的长连接是什么意思?
也叫“持久连接”,任意一方没有提出断开连接时,将一直保存连接状态。在响应报文的头加上 Connection:keep alive 。
3、为什么会有time_wait状态
确保有足够的时间让对方收到ack包
避免新旧连接混淆
4、为什么需要四次挥手才能断开连接
因为全双工,发送方和接收方都需要fin报文和ack报文
5、服务器出现大量close_wait状态的原因
对方关闭socket连接,我方忙于du读或写,没有及时关闭连接
解决:
*检查代码,特别是释放资源的代码
*检查配置,特别是处理请求的线程配置
6、Rtt和Rto
Rtt:发送一个数据包到收到对应的ack,所花费的时间
RTO:重传时间间隔
7、http请求响应的步骤
客户端连接到web服务器
发送http请求
服务器接受请求并返回http响应
释放tcp连接
客户端浏览器解析html内容
8、、在浏览器输入url,按下回车之后的流程
DNS解析
tcp连接
发送http请求
服务器处理请求并返回htpp报文
浏览器解析渲染页面
连接结束
12、get请求和post请求的区别
get没有请求体,post有
http报文层面:get请求信息放在url中,键值对拼接,post请求在请求体中
数据库层面:get请求复合幂等性和安全性,post不符合
其他:get请求可以被缓存,post不可以、
13.Session 和 Cookie的区别
Cookie 是在客户端,用来存储状态信息的,是字符串形式,关闭浏览器后知道存活期限才会消失。
Session是在服务器端,可以是任意形式。关闭浏览器就消失
14、https怎样实现安全的?https怎样加密的?
身披SSL外壳
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。
Https的加密机制是一种共享密钥加密和公开密钥加密并用的混合加密机制
15、
1、POST /url 创建
2、DELETE /url/xxx 删除
3、PUT /url/xxx 更新
4、GET /url/xxx 查看
16、TCP/IP五层和OSI七层各有什么协议
TCP/IP:
网络接口层(链路层):
网络层: IP,ICMP,IGMP,【ARP,RARP】
传输层:TCP ,UDP,UGP
应用层:Telnet,FTP,SMTP,SNMP.
OSI:
物理层:EIA/TIA-232, EIA/TIA-499, V.35, V.24, RJ45, Ethernet, 802.3, 802.5, FDDI, NRZI, NRZ, B8ZS
数据链路层:Frame Relay, HDLC, PPP, IEEE 802.3/802.2, FDDI, ATM, IEEE 802.5/802.2
网络层:IP,IPX,AppleTalk DDP,【ARP,RARP】
传输层:TCP,UDP,SPX
会话层:RPC,SQL,NFS,NetBIOS,names,AppleTalk,ASP,DECnet,SCP
表示层:TIFF,GIF,JPEG,PICT,ASCII,EBCDIC,encryption,MPEG,MIDI,HTML
应用层:FTP,WWW,Telnet,NFS,SMTP,Gateway,SNMP
17.UDP怎样实现可靠性?
点这里