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

http 从请求到响应的过程中发生了什么

  1. DNS域名解析‌:当用户在浏览器地址栏输入网址时,浏览器首先会尝试从自身的DNS缓存中查找域名的IP地址。如果缓存中没有找到,浏览器会向系统DNS缓存、hosts文件以及本地DNS服务器发起查询请求,最终获取到域名的IP地址‌。

  2. TCP三次握手‌:浏览器与服务器建立TCP连接,这个过程称为三次握手。服务器监听端口,客户端发送SYN包请求连接,服务器响应SYN+ACK包,客户端再次发送ACK包确认连接建立,完成三次握手后,客户端和服务器进入数据传输状态‌1。

  3. 发送HTTP请求‌:客户端向服务器发送一个HTTP请求,请求包含请求行、请求头部和请求体。请求行包含HTTP方法(如GET、POST)、资源路径和HTTP版本。请求头部包含客户端信息、请求条件等,如Host、User-Agent、Accept等。请求体是可选的,用于POST请求中的数据传输‌2。

  4. 服务器处理请求‌:服务器接收到请求后,解析请求,查找所需资源,并进行处理。服务器会返回一个HTTP响应,响应包括状态行、响应头部和响应体。状态行包含HTTP版本、状态码和状态消息,如200 OK表示请求成功,404 Not Found表示资源未找到‌2。

  5. 关闭连接‌:在HTTP/1.0中,每次连接只处理一个请求然后关闭。HTTP/1.1引入了持久连接,允许一个连接处理多个请求和响应,提高了性能。连接在完成所有请求和响应后可以选择关闭或保持开启状态‌3。


http://www.kler.cn/a/382955.html

相关文章:

  • 关于npm源的切换及相关操作
  • 微博舆情分析:使用Python进行深度解析
  • 细说STM32单片机USART中断收发RTC实时时间并改善其鲁棒性的另一种方法
  • 旋转对称性,旋转矩阵的特征矢量也是T3矩阵的特征矢量
  • Jtti:FTP服务器与HTTP服务器的区别有哪些?
  • 【数据结构】ADT和ADT接口
  • AI技术:转变未来生活与工作的革命性力量
  • 软件测试基础十二(python变量进阶)
  • 多模态大模型架构演变:主流模式的进化路径
  • Django+DRF+Celery+Redis通用Requirements记录
  • [Vue]防止路由重复跳转
  • scala学习记录,Set,Map
  • 前端零基础学习Day-Five
  • 易语言模拟真人动态生成鼠标滑动路径
  • 如何产生新想法并创新?
  • 讲讲分布式与集群的区别?
  • qt QListView详解
  • [前端] 为网站侧边栏添加搜索引擎模块
  • 通过ChatGPT轻松制作个性化GPTs应用
  • Latex图片展示:一行与一列
  • 香港服务器网络延迟的测量指标包括哪些?
  • Bartender 5 for Mac 菜单栏管理软件 安装教程【保姆级教程,操作简单小白轻松上手使用】
  • 哈夫曼树和哈夫曼编码与译码
  • 《ASP.Net Core技术内幕与项目实战》读书笔记1
  • 全平台设置jetbrains mono字体
  • #渗透测试#SRC漏洞挖掘# 操作系统-Linux系统基础02之Openssl、软连接与硬连接、用户账号数据库