当前位置: 首页 > news >正文

浏览器发出请求到响应的过程

  1. 客户端发起请求:用户输入URL并回车,浏览器解析URL,生成HTTP请求。

  2. DNS解析:浏览器查看本地hosts文件是否有域名的IP地址映射,如果没有则向DNS服务器发起解析请求,获取域名对应的IP地址。

  3. 建立TCP连接(三次握手):浏览器使用得到的IP地址和端口号与服务器进行三次握手,建立TCP连接。

  4. 发送HTTP请求:TCP连接建立后,浏览器将HTTP请求报文发送给服务器。

  5. 服务器处理请求:服务器接收请求,找到对应的处理程序,解析请求报文,执行业务逻辑,生成响应数据。

  6. 服务器发送HTTP响应:服务器构造HTTP响应报文,并通过TCP连接将响应报文发送给浏览器。

  7. 客户端接收响应:浏览器解析响应报文,根据响应内容进行相应的处理(如根据返回的JSON或HTML文档渲染页面)。

  8. 关闭TCP连接(四次挥手):根据HTTP版本和连接头部信息,浏览器和服务器可能会关闭TCP连接。

  9. 缓存和重用:浏览器和中间代理会根据响应中的缓存头部信息来缓存内容,以便后续请求时直接使用。

http://www.lryc.cn/news/425570.html

相关文章:

  • eNSP 华为划分VLAN
  • 公用事业公司签署大规模电力供应协议
  • C语言 | Leetcode C语言题解之第341题扁平化嵌套列表迭代器
  • 冷知识:编程第一人是位伟大的女性
  • Python爬虫使用实例
  • 主成分分析(PCA)
  • python实现生命游戏
  • 基于vue框架的CIA报价平台的设计与实现1xv02(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • 【Kubernetes】k8s集群Pod控制器
  • 什么是NLP实体识别?
  • 掌握Jenkins自动化部署:从代码提交到自动上线的全流程揭秘
  • 糟糕界面集锦-控件篇09
  • 喵喵蓝牙热敏打印机(下)
  • 软件测试第1章 软件测试是什么
  • 【技术分享】 hysteria2从服务端到客户端部署教程
  • C++入门基础知识16
  • 浏览器调试工具-Chrome Dev Tools
  • 基于车联网大数据平台的用户驾驶习惯行为画像分析
  • Ubuntu24.04搭建maxkb开发环境
  • C++ 指针和引用的区别
  • python绘制蕨菜叶分形
  • 1分钟了解pandas
  • django-celery应用-定时执行测试cases
  • 【C++深度探索】unordered_set、unordered_map封装
  • CSS——字体背景(Font Background)
  • 秋招突击——8/15——知识补充——Socket通信
  • Qt第十四章 模型视图
  • 硬件工程师必须掌握的MOS管详细知识
  • 希尔排序,详细解析(附图解)
  • 【C语言篇】编译和链接以及预处理介绍(下篇)