网络协议面试连环炮
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天免登录”功能
session 的生命周期是服务器控制,默认是30分钟,用户关闭浏览器session也不会消失
网络传输量
cookie 会传递消息给服务器所以会产生网络传输
session 本身存放于服务器,不会有传送流量
访问范围
cookie 为多个用户浏览器共享
session 为一个用户浏览器独享
常见的 http 协议状态码有哪些?
1xx:指示信息--表示请求已接收,继续处理2xx:成功--表示请求已被成功接收、理解、接受3xx:重定向--要完成请求必须进行更进一步的操作4xx:客户端错误--请求有语法错误或请求无法实现5xx:服务端错误--服务器未能实现合法的请求
关于作者
我的博客 👉
章鱼猫
微信公众号 👉
编程书籍推荐
GitHub 导航 👉
网址导航
ProcessOn 主页 👉
0 条评论
回复 删除
下一页