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

计算机网络(二)应用层HTTP协议

目录

1、HTTP概念

​编辑2、工作流程​​

3、HTTP vs HTTPS​​

 4、HTTP请求特征总结​

5、持久性和非持久性连接

非持久连接(HTTP/1.0)​​

​​持久连接(HTTP/1.1)​​


1、HTTP概念

HTTP(HyperText Transfer Protocol,超文本传输协议)是用于在客户端(如浏览器)和服务器之间传输超媒体文档(如网页)的应用层协议。

特点​​:

  • ​无状态​​:每次请求独立(用Cookie/Session记录状态)。
  • ​明文传输​​(HTTP)或加密传输(HTTPS)。

2、工作流程

DNS找IP → TCP连80 → 发请求 → 收响应 → 关连接 → 渲染页面

  1. ​DNS解析​

    浏览器通过DNS服务器将域名 www.someSchool.edu 解析为IP地址。
  2. ​建立TCP连接​

    HTTP客户端(浏览器)在 ​​80端口​​ 与服务器建立TCP连接(通过套接字)。
  3. ​发送HTTP请求​

    客户端发送HTTP请求报文,包含请求的资源路径(如 /someDepartment/home.index)。
  4. ​服务器处理请求​

    服务器解析请求,从存储(内存/磁盘)中检索资源,封装为HTTP响应报文。
  5. ​返回响应并关闭连接​

    服务器通过套接字返回响应,​​等待客户端接收完成后​​ 关闭TCP连接。
  6. ​客户端渲染页面​

    客户端接收响应,解析HTML文件,加载内嵌资源(如图片、CSS),最终渲染显示给用户。

注意:人们使用的域名解析(DNS)转换为对应的IP地址,从而让计算机等网络设备能够通过IP地址找到相应的服务器或主机来进行通信交互

3、HTTP vs HTTPS​

HTTPHTTPS
​安全​明文加密
​端口​80443

 4、HTTP请求特征总结​

​​1、简单​

  • 报文格式(请求+响应):header + body
  • 头部信息:key-value 文本形式(如 Content-Type: text/html

2、​​灵活可扩展​

  • 可自定义:请求方法(GET/POST)、状态码(200/404)、头字段等。
  • 下层灵活:
    • ​HTTPS​​ = HTTP + SSL/TLS(加密)
    • ​HTTP/3​​ = HTTP + QUIC(基于UDP,更快)

3、​​跨平台​

  • 适用场景:PC浏览器、手机APP、游戏、支付等。

5、持久性和非持久性连接

非持久连接(HTTP/1.0)​
  • ​​每次请求​​需新建TCP连接(三次握手)
  • ​​响应后立即断开​​连接
  • ​​缺点​​:
    • 高延迟(频繁握手)
    • 服务器压力大(维护多个连接)
​持久连接(HTTP/1.1)​
  • ​​复用同一条TCP连接​​处理多个请求
  • ​​默认保持连接​​(除非主动关闭)
  • ​​优点​​:
    • 减少握手次数
    • 提升加载速度
    • 降低服务器负载
http://www.lqws.cn/news/597979.html

相关文章:

  • 数据结构day6——内核链表
  • 修改Spatial-MLLM项目,使其专注于无人机航拍视频的空间理解
  • ESP32-S3开发板深度评测:AI语音识别与图像处理全面解析
  • [2025CVPR]DE-GANs:一种高效的生成对抗网络
  • Android屏幕共享+WebSocket实现传输截图
  • 【代码审计】安全审核常见漏洞修复策略
  • Vue 3 中的 `h` 函数详解
  • android RecyclerView隐藏整个Item后,该Item还占位留白问题
  • 【Java编程动手学】Java的“三体”世界:JVM、JRE、JDK的共生之道
  • 从 0 到 1 构建可视化限流演示:React + Framer Motion 实现 Token Bucket 动画
  • 折线图多数据处理
  • 基于Halcon平台的常规OCR与深度OCR性能对比分析
  • 前端技术栈 —— HTML、CSS和JavaScirpt执行环境
  • 热血三国野地名将列表
  • 如何hack边缘的kubelet修改Cgroup数值
  • 事务隔离级别深度解析:机制、语法与实战指
  • Jenkins生态与拓展:构建现代化DevOps工具链的终极指南
  • android apk签名
  • Django打造智能Web机器人控制平台
  • mac部署dify
  • 每日一练:找到初始输入字符串 I
  • 第三方软件测试服务包含哪些类别?功能、性能、安全性测试全解析
  • Vue Vue-route (2)
  • ChatGPT、DeepSeek等大语言模型助力高效办公、论文与项目撰写、数据分析、机器学习与深度学习建模
  • 定时器的设计
  • 关于小波降噪、小波增强、小波去雾的原理区分
  • 1、lombok注解不生效
  • RIP 技术深度解析
  • Linux CentOS环境下Java连接MySQL数据库指南
  • 口重启Spring Boot项目中,通过接口实现应用重启是运维场景中的常见需求。以下是三种主流实现方案及其详细步骤和注意事项: