测试开发栈在浏览器中输入URL地址并回车后都发生了什么?( 二 )


毫无疑问 , 有请求肯定就会有响应 , 哪怕是错误的请求也会有对应的响应 , 响应报文中包含了HTTP状态码 , 它可以直观的表达这次请求的结果 , 简单列举一下:
测试开发栈在浏览器中输入URL地址并回车后都发生了什么?
文章图片
老规矩 , 也找一张图来表示一下这个请求-响应过程:
测试开发栈在浏览器中输入URL地址并回车后都发生了什么?
文章图片
6.关闭TCP连接
为了通信前面客户端与服务端有建立TCP连接 , 那么同样的为了避免服务器与客户端双方的资源占用和损耗 , 当双方没有请求或响应传递时 , 任意一方都可以发起关闭请求(长连接的情况这里暂时不考虑) 。 与创建TCP连接的3次握手类似 , 关闭TCP连接 , 需要4次握手 。
测试开发栈在浏览器中输入URL地址并回车后都发生了什么?
文章图片
上图可以这么理解:客户端:“兄dei , 我这边没数据要传了 , 咱关闭连接吧 。 ”服务端:“收到 , 我看看我这边有木有数据了 。 ”服务端:“兄dei , 我这边也没数据要传你了 , 咱可以关闭连接了 。 ”客户端:“OK 。 ”7.浏览器渲染页面
数据返回回来了 , 那么浏览器就需要将响应结果展示出来 , 这就是一个页面渲染的过程 。 准确地说 , 浏览器需要加载解析的不仅仅是HTML , 还包括CSS、JS 。 以及还要加载图片、视频等其他媒体资源 。 这个过程涉及较深的前端知识 , 就不做过多的深入介绍 , 大家知道浏览器最后需要布局渲染才会生成我们最终看到的页面就行了 。
ok , 这就是整个过程了 , 面试时真正能讲全讲到点的也不是那么容易 , 大家可以仔细看看 , 慢慢消化一下 , 将这个流程印在自己的脑海中……