浏览器工作原理-基础概念

  • 并行处理
    • 同一时刻处理多个任务
    • 能大大提升性能
  • 进程
    • 一个进程就是一个程序的运行实例
    • 启动一个程序的时候,操作系统会为该程序创建一块内存,用来存放代码、运行中的数据和一个执行任务的主线程,这样的一个运行环境叫进程
    • 进程关闭后,操作系统会回收该进程所占用的内存,内存泄漏的部分,也会被正确回收
    • 进程之间的内容相互隔离,每个进程只能访问自己占有的数据
  • 线程
    • 依附于进程
    • 进程中使用多线程并行处理能提升运算效率
    • 进程中任一线程出差,都会导致整个进程崩溃
    • 线程之间共享进程中的数据
  • 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连接可以节省下次建立连接的时间,提升资源加载速度
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值