【38期】一份tcp、http面试指南,常考点都给你了
阅读本文大概需要 5 分钟。
来自:juejin.im/post/5ad4094e6fb9a028d7011069
TCP
TCP/IP 协议分层模型
物理层将二进制的0和1和电压高低,光的闪灭和电波的强弱信号进行转换
链路层代表驱动
网络层
使用 IP 协议,IP 协议基于 IP 转发分包数据
IP 协议是个不可靠协议,不会重发
IP 协议发送失败会使用ICMP 协议通知失败
ARP 解析 IP 中的 MAC 地址,MAC 地址由网卡出厂提供
IP 还隐含链路层的功能,不管双方底层的链路层是啥,都能通信
传输层
TCP 协议面向有连接,能正确处理丢包,传输顺序错乱的问题,但是为了建立与断开连接,需要至少7次的发包收包,资源浪费
UDP 面向无连接,不管对方有没有收到,如果要得到通知,需要通过应用层
通用的 TCP 和 UDP 协议
会话层以上分层
TCP/IP 分层中,会话层,表示层,应用层集中在一起
网络管理通过 SNMP 协议
划重点了啊(面试最常问的啊)
TCP三次握手和四次挥手?
客户端–发送带有SYN标志的数据包–一次握手–服务端
服务端–发送带有SYN/ACK标志的数据包–二次握手–客户端
客户端–发送带有带有ACK标志的数据包–三次握手–服务端
客户端-发送一个FIN,用来关闭客户端到服务器的数据传送
服务器-收到这个FIN,它发回一个ACK,确认序号为收到的序号加1 。和SYN一样,一个FIN将占用一个序号
服务器-关闭与客户端的连接,发送一个FIN给客户端
客户端-发回ACK报文确认,并将确认序号设置为收到序号加1
TCP和UDP的区别?
HTTP
http传输流
又来划重点了啊
HTTP的英文全称?
状态码?
200 OK,表示从客户端发来的请求在服务器端被正确处理
204 No content,表示请求成功,但响应报文不含实体的主体部分
206 Partial Content,进行范围请求
301 moved permanently,永久性重定向,表示资源已被分配了新的 URL
302 found,临时性重定向,表示资源临时被分配了新的 URL
303 see other,表示资源存在着另一个 URL,应使用 GET 方法定向获取资源
304 not modified,表示服务器允许访问资源,但因发生请求未满足条件的情况
307 temporary redirect,临时重定向,和302含义相同
400 bad request,请求报文存在语法错误
401 unauthorized,表示发送的请求需要有通过 HTTP 认证的认证信息
403 forbidden,表示对请求资源的访问被服务器拒绝
404 not found,表示在服务器上没有找到请求的资源
500 internal sever error,表示服务器端在执行请求时发生了错误
503 service unavailable,表明服务器暂时处于超负载或正在停机维护,无法处理请求
HTTP协议格式?
HTTP的无状态性?
输入url到页面加载都发生了什么事情?(最最常问的来了)
输入地址
浏览器查找域名的 IP 地址 这一步包括 DNS 具体的查找过程,包括:浏览器缓存->系统缓存->路由器缓存...
浏览器向 web 服务器发送一个 HTTP 请求
服务器的永久重定向响应(从 http://example.com 到 http://www.example.com)
浏览器跟踪重定向地址
服务器处理请求
服务器返回一个 HTTP 响应
浏览器显示 HTML
浏览器发送请求获取嵌入在 HTML 中的资源(如图片、音频、视频、CSS、JS等等)
浏览器发送异步请求
推荐阅读:
【37期】请你详细说说类加载流程,类加载机制及自定义类加载器
微信扫描二维码,关注我的公众号
朕已阅