一个便于记忆的简单步骤
1、键盘或触屏输入URL并回车确认
2、URL解析/DNS解析查找域名IP地址
3、网络连接发起HTTP请求
4、HTTP报文传输过程
5、服务器接收数据
6、服务器响应请求/MVC
7、服务器返回数据
8、客户端接收数据
9、浏览器加载/渲染页面
10、打印绘制输出
域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --> 浏览器对页面进行渲染呈现给用户
http是什么
客户端和服务器端之间数据传输的格式规范
HTTP协议是基于TCP 协议出现的,TCP是一条双向的通讯通道,http增加规定了request-response模式,决定了首次通讯要由浏览器端发起。
HTTPS 是使用加密通道来传输HTTP的内容。是服务端建立一条加密通道,所以可以防止数据被中间节点篡改,从传输内容上来看与HTTP没有区别
HTTP2
1、支持服务端推送:能够在客户端向服务端发送第一个请求时,提前把一部分资源推送至客户端放入缓存,提高性能
2、支持TCP传输复用:同一个TCP连接来传输多个HTTP请求,避免三次握手导致的性能开销
利用 HTTP2 服务端推送,以及 TCP 连接复用的特性,把 CSS 和 JS 文件分拆成更小的文件,分批下载。
更小的文件意味着用户可以更快看到页面,以及性能的改善。与此同时,这种处理方式也对生产环境的工具链带来调整和改变。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。