后端笔试题及其解答

1.请基于 TCP/IP 五层网络模型描述下当我们在浏览器请求 https://pp.io 站点时,发生了哪些事情?答:TCP/IP五层模型分为应用层,传输层,网络层,数据链路层以及物理层。1.应用层负责应用程序之间的交流,这里使用应用层的http协议以及使用位于应用层与传输层之间的ssl/tls协议,请求https://pp.io。为数据加上http头(包含请求类型,http版本号,正文长...
摘要由CSDN通过智能技术生成
1.请基于 TCP/IP 五层网络模型描述下当我们在浏览器请求 https://pp.io 站点时,发生了哪些事情?

答:

TCP/IP五层模型分为应用层,传输层,网络层,数据链路层以及物理层

1.应用层负责应用程序之间的交流,这里使用应用层的http协议以及使用位于应用层与传输层之间的ssl/tls协议,请求https://pp.io。为数据加上http头(包含请求类型,http版本号,正文长度等)。

2.域名解析,包括:

(1)浏览器缓存(2)本地hosts文件 (3)本地dns服务器(4)根dns服务器(5)顶级dns服务器(6)二级dns服务器

详细步骤:

首先查看浏览器缓存是否有相应dns缓存,有的话则直接使用。

不然就查看系统缓存,系统缓存通过hosts文件来设置。如果存在相应记录则直接使用。

如果也不存在即向本地dns服务器发送解析请求,如果LDNS存在相应记录,则直接返回对应服务器ip。

如果LDNS不存在相应记录,则直接向根服务器发送请求,根服务器返回 .io 对应的顶级dns服务器地址

LDNS请求 .io 对应的顶级dns服务器地址,返回负责pp.io的二级dns服务器地址

LDNS请求二级dns服务器地址, 二级dns服务器根据映射关系表找到目标ip,返回给LDNS

LDNS根据TTL值缓存dns记录并返回ip地址给用户

用户也根据TTL值进行缓存并使用相应IP地址,发送https请求。

3.传输层负责端于端之间的交流,使用TCP协议,为数据加上了TCP头(包含服务器端口443以及浏览器端口),建立连接需要三次握手。断开连接四次握手。

建立连接详细步骤:

客户端发送 syn + seq:0

服务端回复 ack:1 + syn + seq:0

客户端发送seq:1 + ack: 1

(因为要算上syn bit)

4.网络层负责地址地址管理以及路由选择。使用IP协议。为数据加上IP头(包含客户端ip以及服务端ip)。

5.数据链路层负责相邻设备之间的数据帧的传输。主要使用以太网帧协议。负责在一段数据的前后分别添加首部和尾部构成了一个帧。(包含本地客户端MAC地址,本地网关MAC地址)

6.物理层主要负责光电信号的传输,主要使用中继器,集线器以及双绞线等。

7.服务器接受请求之后五层自下而上一层层剥去头部。被代理服务器nginx或apache等监听到后如果是静态资源则直接返回,动态资源则进行处理再返回。接着重复刚才的加头步骤返回给客户端响应结果以及数据。

2.请实现一个 Linux Shell (Bash) 脚本,用于处理如下格式的日志文件。
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值