admin 管理员组文章数量: 1086019
2024年5月25日发(作者:excel column)
农行前端面试题
① cookie 只能存储 ASCII 码,而 session 可以存储任何类型的数据。
② session 存储在服务器,而 cookie 存储在客户浏览器中,容易被恶意
查看。。
③ session 的运行依赖 session id,而 session id 存在 cookie 中,叫
做 JSESSIONID。如果浏览器禁用了 cookie ,同时 session 也会失效(可以
通过其它方式实现,比如在 url 中传递 session_id)。
TCP 三次握手的过程?为什么要三次握手?⭐⭐
初始 A 和 B 均处于 CLOSED 状态,B 创建传输进程控制块 TCB 并进
入 LISTEND 状态,监听端口是否收到连接请求。
A 向 B 发送连接请求报文,SYN=1,ACK=0,SYN 不可以携带数据,但
要消耗一个序号,发送后 A 进入 SYN-SENT 同步已发送状态。
B 收到 A 的连接请求报文后,进入 SYN-RCVD 同步已接收状态,如果同
意建立连接就会发送给 A 一个连接响应报文,SYN=1,ACK=1,ACK 可以携
带数据,不携带的话则不消耗序号。
A 收到 B 的确认后还要对该确认再进行一次确认,发送后 A 进入
ESTABLISHED 状态,B 接收到该报文后也进入 ESTABLISHED 状态,客户端
会稍早于服务器端建立连接。
三次握手的原因:
从信息对等角度看,AB 分别要确认自己和对方的发送、接收能力均正常。
第二次握手后 B 还不能确定自己的发送和 A 的接收能力。
A 的超时连接请求可能会在双方释放连接后到达 B,B 会误以为是 A 发
送了新的连接请求,然后创建连接,服务器资源被浪费。
拥塞控制了解嘛?⭐
网络中对资源的需求超过可用量的情况就叫拥塞,当吞吐量明显小于理想吞
吐量时就出现了轻度拥塞。拥塞控制就是减少注入网络的数据,减轻路由器和链
路的负担,这是一个全局性问题,涉及网络中的所有路由器和主机,而流量控制
是一个端到端的问题。
TCP 的拥塞控制算法包括了慢启动、拥塞避免和快恢复。慢启动和拥塞避
免是 TCP 的强制部分,差异在于对收到的 ACK 做出反应时拥塞窗口增加的方
式,慢启动比拥塞避免增加得更快。快恢复是推荐部分,对 TCP 发送方不是必
须的。
慢启动:拥塞窗口 cwnd 以一个 MSS 最大报文段开始,每当传输的报文
段首次被确认就增加一个 MSS。因此每经过一个 RTT 往返时间,拥塞窗口就
会翻倍,发送速率也会翻倍。结束慢启动的情况:① 发生超时事件,发送方将
cwnd 设为 1,重新开始慢启动,并将慢启动阈值设置为 cwnd/2。② 当拥塞
窗口达到慢启动阈值时就结束慢启动而进入拥塞避免模式。③ 如果检测到三个
冗余的 ACK,TCP 就会执行快重传并进入快恢复状态。
拥塞避免:一旦进入拥塞避免状态,cwnd 值大约是上次拥塞时的 1/2,
距离拥塞并不遥远。因此 TCP 不会每经过一个 RTT 就将 cwnd 翻倍,而是
较为保守地在每个 RTT 后将 cwnd 加 1。发生超时事件时,拥塞避免和慢启
动一样,将 cwnd 设为 1,并将慢启动阈值设置为 cwnd/2。
快恢复:有时个别报文段丢失,但网络中并没有出现拥塞,如果使用慢启动
会降低传输效率。这时应该使用快重传来让发送方尽早知道出现了个别分组的丢
版权声明:本文标题:农行前端面试题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1716575910a693433.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论