- 并行处理
- 同一时刻处理多个任务
- 能大大提升性能
- 进程
- 一个进程就是一个程序的运行实例
- 启动一个程序的时候,操作系统会为该程序创建一块内存,用来存放代码、运行中的数据和一个执行任务的主线程,这样的一个运行环境叫进程
- 进程关闭后,操作系统会回收该进程所占用的内存,内存泄漏的部分,也会被正确回收
- 进程之间的内容相互隔离,每个进程只能访问自己占有的数据
- 线程
- 依附于进程
- 进程中使用多线程并行处理能提升运算效率
- 进程中任一线程出差,都会导致整个进程崩溃
- 线程之间共享进程中的数据
- SOA(Services Oriented Architecture)
- 面向服务的架构
- 将应用程序的不同功能单元(称为服务Services)进行拆分,通过这些服务之间定义的接口和契约联系起来
- FP(First Paint)
- 页面加载到首次开始绘制的时长
- 直接影响到用户的跳出率
- 重要的影响因素是网络加载速度
- IP(Internet Protocol)
- 网际协议
- 通过IP地址信息把数据包传到目的主机
- DNS(Domin Name System)
- 域名系统
- 把域名和IP地址做一一映射关系
- UDP(User Datagram Protocol)
- 用户数据包协议
- 通过端口号把数据包分发给正确的程序
- 对于错误的数据包,不提供重发机制,发送之后无法知道是否到达了目的地,不能保证数据可靠性
- 传输速度非常快
- TCP(Transmission Control Protocol)
- 传输控制协议
- 面向连接的、可靠的、基于字节流的传输层通讯协议
- 对于数据包丢失的情况,提供重发机制,可以把数据完整的送达应用程序
- 传输速度稍慢
- 完整的生命周期包括:建立连接、传输数据、断开连接三个阶段
- HTTP(HyperText Transfer Protocol)
- 建立在TCP连接基础上,发生在TCP的传输数据阶段
- 浏览器发起请求流程
- 构建请求行信息
- 查找缓存(当浏览器发现请求的资源已在缓存中,会拦截请求,返回缓存的资源副本)
- 准备IP地址和端口(通过DNS将URL中的域名解析为对应的IP地址,若URL没有特别标明端口号,默认是80端口)
- 等待TCP队列(Chrome中同一个域名同时最多只能建立6个TCP连接,超过数量的连接会进入排队等待状态)
- 建立TCP连接
- 发送HTTP请求(请求行,请求头,请求体)
- 服务器处理请求流程
- 返回请求(响应行、响应头、响应体)
- 断开连接
- 通常情况下,服务器向客户端返回了请求数据就要关闭TCP连接
- 当浏览器或服务器在头信息中加了Connection:Keep-Alive时,TCP连接会保持打开状态
- 保持TCP连接可以节省下次建立连接的时间,提升资源加载速度
浏览器工作原理-基础概念
最新推荐文章于 2021-07-30 13:33:18 发布