10.27八股文背诵

内容分享2周前发布
0 1 0

请列举一些TCP的状态及其含义

三次握手:

(1)LISTEN:监听连接请求,服务器启动,等待客户端的连接

(2)SYN_SENT:客户端已发送SYN,等待服务器确认

(3)SYN_RCVD(recived):服务器收到SYN,发送了 SYN-ACK(服务器响应连接请求后)

(4)ESTABLISHED:连接已建立,三次握手完成后,数据传输阶段

四次挥手: (1)FIN_WAIT_1:已发送FIN,等待对方的ACK确认(第一次挥手–客户端状态)

(2)FIN_WAIT_2:已收到对方对FIN的确认ACK,等待对方发送FIN。(第二次挥手–客户端状态)

(3)CLOSE_WAIT:服务器收到FIN包并回复了ACK确认,表明对方已关闭,我方需等待应用程序调用 close 来关闭连接(第二次挥手–服务端状态)

(4)LAST_ACK:已发送FIN,等待最后的ACK确认(第三次挥手–服务端状态)

(5)TIME_WAIT:这个状态出目前主动发起关闭的一方,发送了最后一个ACK确认,需要等待一段时间(2MSL)才能彻底关闭连接。

(第四次挥手–客户端状态)

(6)CLOSED:经过四次挥手后,双方最终都会回到CLOSED状态。

session、cookie、token的区别

三者:都和维持状态信息有关系

cookie是工程师针对http协议是无连接和无状态所设计的一种技术,这种技术可以在浏览器端存储用户信息;

cookie:作用是存储用户信息,信息是临时的不敏感信息;(里面的数据可以被随意访问 没有安全性可言)

cookie是存储在浏览器端的一小段文本数据,cookie里的内容会随着http请求一起发送到服务器

session是存储在服务器端的一组数据,有些网站采用session机制验证用户身份,一般把session-id存储在cookie里

token:用户登录后,服务器生成Token供后续请求验证身份

token可以存储在cookie中,也可以存储在服务器内存,也可以存储在其他地方,他和cookie,session不是同一维度的东西

token就是一段密钥字符串

token:令牌(一般是 JWT)

JWT,你是咋用的,jwt中有什么

用于验证身份 json web token

jwt由三段信息组成:头部Header 负载Payload和签名Signature 每个部分都是base64的编码 三个部分通过.进行连接

实施:客户端向服务器发起登录请求,服务器验证身份生成jwt,最后返回给客户端,客户端存储到本地,把jwt写到本地的某个文件中

从此之后客户端再请求服务器的任何资源,都会把jwt携带在请求参数中,服务器验证是否合法:

取出前两个部分(头部和负载),生成签名和客户端jwt的第三部分进行对比,一致就说明jwt不是别人伪造的

负载包含身份认证的信息,签名用来验证jwt是否是别人伪造的

jwt的优势:

用户的授权信息完全存储在客户端,服务端不需要存储任何的信息,服务端只需要运行一个加密算法来验证jwt的合法性就可以了

jwt的劣势: 服务器发现账号有风险,想撤回账号就很难:设置过期时间尽可能短(例如是1h而不是1天)

用户登录成功之后身份信息存储在Payload,信息明文传输,尽量在Payload中存储少量的业务信息,为了安全+性能,json字符串越长,加密计算量就越大

TCP一次握手或者两次是否可行?

(1)如果只有一次握手,客户端发送请求报文给服务器,服务器响应报文丢失,导致客户端永远不知道是否和服务器建立成功,客户端永远处于等待的状态,浪费系统资源

(2)如果只有两次握手,那么这时候滞留在网络中的旧连接请求报文到达了服务器端,服务器端会误以为这是一个新的连接请求,从而建立了一个旧的无效连接

常见的网络协议

应用层:http超文本传输协议 https超文本传输安全协议 DNS协议 FTP文件传输协议 SMTP:简单邮件传输协议 SSH:安全外壳协议

传输层:tcp和udp协议

网络层:IP协议

浏览器输入URL到页面展现的整个过程

在浏览器中输入 URL 之后,它会执行以下几个流程:

(1)执行 DNS 域名解析;

(2)封装 HTTP 请求数据包;

(3)封装 TCP 请求数据包;

(4)建立 TCP 连接(3 次握手);

(5)参数从客户端传递到服务器端;

(6)服务器端得到客户端参数之后,进行相应的业务处理,再将结果封装成 HTTP 包,返回给客户端;

(7)服务器端和客户端的交互完成,断开 TCP 连接(4 次挥手);

(8)浏览器通过自身执行引擎,渲染并展示最终结果给用户。

© 版权声明

相关文章

1 条评论

您必须登录才能参与评论!
立即登录
  • 头像
    深圳市国佳光电子有限公司 读者

    很强,学习了🤙

    无记录