网络协议面试连环炮
2021-03-03 14:18:44 2 举报
AI智能生成
网络协议面试连环炮
作者其他创作
大纲/内容
阅读导航
网络协议 👉
面试连环炮
NIO基础(博客) 👉
网络编程 NIO 源码 👉
网络编程 Netty 👉
浏览器从输入地址发起请求到相应都经历了什么?
DNS 解析:将域名解析成 IP 地址
建立连接:TCP 三次握手
客户端在应用层发送一个 HTTP 请求
服务器处理请求,并返回 HTTP 报文
浏览器解析渲染页面
断开连接:TCP 四次挥手
你刚才有谈到 tcp/ip 的分层,能详细说下吗?
应用层
主要是与应用通信使用到的协议,比如:HTTP、FTP、DNS、SSH
传输层
为应用层提供在两台机器之间数据传输,有两种协议:TCP、UDP
网络层
两台机器之间在传输的过程中会经过多个路由器有多条路线,网络层
主要是从中选择一条路线
主要是从中选择一条路线
数据链路层
用来处理连接网络的硬件部分,比如说网卡、设备驱动等
在 tcp/ip 的分层里面,当客户端发起http请求到达服务
端的过程中,数据包的封装以及解包的过程是怎样的?
端的过程中,数据包的封装以及解包的过程是怎样的?
客户端在应用层(Http协议)发起一个HTTP请求
传输层(TCP协议)把Http请求数据包分隔成小的数据包,并打好序
网络层(IP协议)收到数据包后选择发送路径
服务器收到数据后按照顺序往上发送,直到应用层收到数据
总结:在发送方每经过一层,就会被加上该层的首部信息
接收方接受到数据后,在每一个层会去掉对应的首部信息
接收方接受到数据后,在每一个层会去掉对应的首部信息
tcp 如何保证数据可靠到达目的地?
三次握手四次挥手 👉
为什么说 http 协议无状态协议?怎么解决 http 协议无状态?
HTTP协议本身是不保存状态的,自身不对请求和
响应的通信状态进行保存,所以是无状态的协议
响应的通信状态进行保存,所以是无状态的协议
引入 Session 机制
Cookie 和 Session 有什么区别?
存在位置
cookie 存在于客户端的本地文件中
session 存在于服务器的内存中
存储格式
session:value为对象,Object类型
cookie:value为字符串,如果存储对象,则转换为json
存储大小
session 受服务器内存限制
cookie 一般最大为 4k
安全性
cookie 是以明文的方式存放在客户端的,安全性低
session 存放于服务器的内存中,所以安全性好
生命周期
cookie 的生命周期是客户端控制的,默认是会话级别的,随着浏览器关闭而消失
非会话级别的cookie,通过设置有效期来控制,比如“7天免登录”功能
非会话级别的cookie,通过设置有效期来控制,比如“7天免登录”功能
session 的生命周期是服务器控制,默认是30分钟,用户关闭浏览器session也不会消失
网络传输量
cookie 会传递消息给服务器所以会产生网络传输
session 本身存放于服务器,不会有传送流量
访问范围
cookie 为多个用户浏览器共享
session 为一个用户浏览器独享
常见的 http 协议状态码有哪些?
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务端错误--服务器未能实现合法的请求
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务端错误--服务器未能实现合法的请求
关于作者
我的博客 👉
微信公众号 👉
GitHub 导航 👉
ProcessOn 主页 👉
0 条评论
下一页