【计算机网络】第2章:应用层—Web and HTTP
目录
一、Web 与 HTTP
二、总结
(一)Web 的定义与功能
(二)HTTP 协议的定义与功能
(三)HTTP 协议的核心机制
1. HTTP 请求与响应流程
2. HTTP 的连接类型
3. HTTP 的状态码
(四)Web 与 HTTP 的协作模型
1. 客户端-服务器架构
2. Web 服务器的组成
(五)Web 的演进与 HTTP 的发展
1. Web 的发展阶段
2. HTTP 协议的演进
(六)Web 与 HTTP 的典型应用场景
(七)总结
一、Web 与 HTTP
二、总结
(一)Web 的定义与功能
- Web(World Wide Web)
- 定义:Web 是基于超文本(Hypertext)和统一资源定位符(URL)构建的全球信息空间,由相互链接的网页、图像、脚本等数字资源组成。
- 核心特性:
- 资源对象化:每个文件(HTML 文档、图片等)视为独立对象。
- 超链接导航:通过 URL 实现跨文档跳转。
- 客户端-服务器架构:用户通过浏览器访问 Web 服务器上的资源。
- Web 的组成:
- 网页(Web Page):由 HTML 文件、图片、脚本等对象组成。
- 网站(Website):多个网页的集合,包含主页和其他子页面。
- 静态网页 vs 动态网页:
- 静态网页:固定内容,无需后台交互(如
.html
文件)。 - 动态网页:内容根据用户请求动态生成(如 PHP、JSP 页面)。
- 静态网页:固定内容,无需后台交互(如
(二)HTTP 协议的定义与功能
- HTTP(HyperText Transfer Protocol)
- 定义:HTTP 是支撑 Web 资源传输的应用层协议,定义了客户端与服务器之间的通信规则。
- 核心功能:
- 请求-响应模式:客户端发送请求,服务器返回响应。
- 支持多种方法:如
GET
、POST
、HEAD
等。 - 状态码机制:如
200 OK
、404 Not Found
等。 - 无状态协议:服务器不保存客户端的上下文信息。
- HTTP 与 Web 的协作:
- Web 的运作完全依赖 HTTP 协议传输资源。
- 例如:浏览器请求
http://example.com/index.html
时,HTTP 协议负责将 HTML 文档从服务器传输到客户端。
(三)HTTP 协议的核心机制
1. HTTP 请求与响应流程
-
请求报文结构:
GET /index.html HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 Accept: text/html
- 请求行:包含方法(
GET
)、URL、HTTP 版本。 - 请求头:包含客户端信息(如
User-Agent
)、请求修饰符。 - 请求体:仅在
POST
方法中使用,用于传输数据。
- 响应报文结构:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234
Server: Apache<html>...</html>
- 状态行:包含 HTTP 版本、状态码、状态消息。
- 响应头:包含服务器信息(如
Server
)、内容类型。 - 响应体:实际返回的数据(如 HTML 页面)。
2. HTTP 的连接类型
-
非持久连接(HTTP 1.0)
- 每次请求建立一个新的 TCP 连接,请求完成后立即关闭。
- 缺点:频繁的 TCP 握手和挥手导致高延迟。
-
持久连接(HTTP 1.1 默认)
- 多个请求/响应复用同一个 TCP 连接。
- 优化方式:
- 流水线(Pipelining):允许客户端连续发送多个请求,服务器按序响应。
- 分块传输编码(Chunked Transfer Encoding):允许流式传输内容,无需预先知道总长度。
3. HTTP 的状态码
类别 | 示例 | 说明 |
---|---|---|
1xx(信息) | 100 Continue | 请求已接收,继续发送数据。 |
2xx(成功) | 200 OK | 请求成功,返回数据。 |
3xx(重定向) | 301 Moved Permanently | 资源已永久移动到新位置。 |
4xx(客户端错误) | 404 Not Found | 请求的资源不存在。 |
5xx(服务器错误) | 500 Internal Server Error | 服务器内部错误。 |
(四)Web 与 HTTP 的协作模型
1. 客户端-服务器架构
- 客户端:用户使用的设备(如浏览器),发送 HTTP 请求。
- 服务器:存储和处理数据的远程计算机,接收请求并返回响应。
- 通信协议:HTTP 使用 TCP 作为传输层协议,确保可靠传输。
2. Web 服务器的组成
- 监听组件:监听指定端口(如 80)的 HTTP 请求。
- 请求解析器:解析请求方法、URL、请求头和请求体。
- 处理逻辑:调用应用程序、数据库或其他资源生成响应。
- 响应生成器:构建 HTTP 响应(状态码、响应头、响应体)。
- 连接管理:管理 TCP 连接(持久连接、关闭策略)。
(五)Web 的演进与 HTTP 的发展
1. Web 的发展阶段
- Web 1.0:静态网页,单向信息传递(用户只能读取内容)。
- Web 2.0:动态网页,用户交互增强(如微博、相册)。
- Web 3.0:语义网,数据互联与智能化(通过元数据实现机器理解内容)。
2. HTTP 协议的演进
- HTTP/1.0:非持久连接,简单但效率低。
- HTTP/1.1:默认持久连接,引入分块传输和流水线。
- HTTP/2:多路复用(Multiplexing),减少延迟。
- HTTP/3:基于 QUIC 协议,进一步优化传输效率。
(六)Web 与 HTTP 的典型应用场景
- 网页浏览:浏览器通过 HTTP 请求加载 HTML、CSS、JavaScript 等资源。
- API 接口调用:后端服务通过 HTTP 提供 RESTful API,供前端或移动端调用。
- 实时通信:结合 WebSocket 协议,实现双向实时通信(如在线聊天)。
- 安全通信:通过 HTTPS(HTTP + TLS/SSL)加密传输数据,保障隐私和完整性。
(七)总结
对比项 | Web | HTTP |
---|---|---|
定义 | 全球信息空间,基于超文本和 URL 构建 | 应用层协议,用于传输 Web 资源 |
核心功能 | 提供信息组织与交互的平台 | 定义客户端与服务器之间的通信规则 |
依赖关系 | 依赖 HTTP 协议传输资源 | 为 Web 提供传输机制 |
无状态特性 | 无状态(需通过 Cookie 或 Token 维持会话) | 无状态(每次请求独立) |
演进方向 | 从静态内容到语义网、去中心化 | 从 HTTP/1.0 到 HTTP/3,优化性能与安全性 |
相关文章:

【计算机网络】第2章:应用层—Web and HTTP
目录 一、Web 与 HTTP 二、总结 (一)Web 的定义与功能 (二)HTTP 协议的定义与功能 (三)HTTP 协议的核心机制 1. HTTP 请求与响应流程 2. HTTP 的连接类型 3. HTTP 的状态码 (四…...
HarmonyOS 5 应用开发导读:从入门到实践
一、HarmonyOS 5 概述 HarmonyOS 5 是华为推出的新一代分布式操作系统,其核心设计理念是"一次开发,多端部署"。与传统的移动操作系统不同,HarmonyOS 5 提供了更强大的跨设备协同能力,支持手机、平板、智能穿戴、智慧屏…...
大数据治理:分析中的数据安全
引言 随着大数据技术在各行业的深度应用,海量数据蕴含的价值被不断挖掘。然而,数据规模的爆发式增长与分析场景的复杂化,使数据安全问题日益凸显。从数据泄露、隐私侵犯到非法访问,每一个安全漏洞都可能带来难以估量的损失。本文将…...

数字孪生技术赋能西门子安贝格工厂:全球智能制造标杆的数字化重构实践
在工业4.0浪潮席卷全球制造业的当下,西门子安贝格电子制造工厂(Electronic Works Amberg, EWA)凭借数字孪生技术的深度应用,构建起全球制造业数字化转型的典范。这座位于德国巴伐利亚州的“未来工厂”,通过虚实融合的数…...
国内高频混压PCB厂家有哪些?
一、技术领先型厂商(聚焦材料与工艺突破) 猎板PCB 技术亮点:真空层压工艺实现FR-4与罗杰斯高频材料(RO4350B/RO3003)混压,阻抗公差3%,支持64单元/板的5G天线模块,插损降低15%。 应用…...

【图像处理基石】立体匹配的经典算法有哪些?
1. 立体匹配的经典算法有哪些? 立体匹配是计算机视觉中从双目图像中获取深度信息的关键技术,其经典算法按技术路线可分为以下几类,每类包含若干代表性方法: 1.1 基于区域的匹配算法(Local Methods) 通过…...

day12 leetcode-hot100-19(矩阵2)
54. 螺旋矩阵 - 力扣(LeetCode) 1.模拟路径 思路:模拟旋转的路径 (1)设计上下左右方向控制器以及边界。比如zy1向右,zy-1向左;sx1向上,sx-1向下。上边界0,下边界hang-1&a…...
将Java应用集成到CI/CD管道:从理论到生产实践
在2025年的软件开发领域,持续集成与持续部署(CI/CD)已成为敏捷开发和DevOps的核心实践。根据2024年DevOps报告,85%的企业通过CI/CD管道实现了交付周期缩短50%以上,特别是在金融、电商和SaaS行业。Java,作为…...

密钥管理系统在存储加密场景中的深度实践:以TDE透明加密守护文件服务器安全
引言:数据泄露阴影下的存储加密革命 在数字化转型的深水区,企业数据资产正面临前所未有的安全挑战。据IBM《2025年数据泄露成本报告》显示,全球单次数据泄露事件平均成本已达465万美元,其中存储介质丢失或被盗导致的损失占比高达…...

webpack打包基本配置
需要的文件 具体代码 webpack.config.js const path require(path);const HTMLWebpackPlugin require(html-webpack-plugin);const {CleanWebpackPlugin} require(clean-webpack-plugin); module.exports {mode: production,entry: "./src/index.ts",output: {…...

酷派Cool20/20S/30/40手机安装Play商店-谷歌三件套-GMS方法
酷派Cool系列主打低端市场,系统无任何GMS程序,也不支持直接开启或者安装谷歌服务等功能,对于国内部分经常使用谷歌服务商店的小伙伴非常不友好。涉及机型有酷派Cool20/Cool20S /30/40/50/60等旗下多个设备。好在这些机型运行的系统都是安卓11…...

LabVIEW旋转机械智能监测诊断系统
采用 LabVIEW 开发旋转机械智能监测与故障诊断系统,通过集品牌硬件与先进信号处理技术,实现旋转机械振动信号的实时采集、分析及故障预警。系统突破传统监测手段的局限性,解决了复杂工业环境下信号干扰强、故障特征提取难等问题,为…...
数据结构 -- 判断正误
1、栈只能顺序存储。 答案: 错误 原因 栈是一种 逻辑结构,表示“后进先出”(LIFO)的操作规则。栈的实现方式不限于顺序存储,还可以使用链式存储。 顺序存储:使用数组实现栈,称为顺序栈。链式…...
vue3前端实现一键复制,wangeditor富文本复制
首先需要拿到要复制的内容,然后调用https的navigator.clipboard方法进行复制,但是这个因为浏览器策略只能在本地localhost和https环境下才能生效,http环境访问不到这个方法,在http环境在可以使用传统方式创建 textarea 进行复制 …...
小白畅通Linux之旅-----Linux进程管理
目录 一、进程查看命令 1、pstree 2、ps 3、pgrep 4、top、htop 二、进程管理命令 1、kill 2、pkill 和 killall 三、进程类型 1、前台进程 2、后台进程 一、进程查看命令 1、pstree 用于查看进程树之间的关系,谁是父进程,谁是子进程&#…...

【芯片设计中的跨时钟域信号处理:攻克亚稳态的终极指南】
在当今芯片设计中,多时钟域已成为常态。从手机SoC到航天级FPGA,不同功能模块运行在各自的时钟频率下,时钟域间的信号交互如同“语言不通”的对话,稍有不慎就会引发亚稳态、数据丢失等问题。这些隐患轻则导致功能异常,重…...

接地气的方式认识JVM(一)
最近在学jvm,浮于表面的学了之后,发现jvm并没有我想象中的那么神秘,这篇文章将会用接地气的方式来说一说这些jvm的相关概念以及名词解释。 带着下面两个问题来阅读 认识了解JVM大致有什么在代码运行时的都在背后做了什么 JVM是个啥…...
教师申报书课题——项目名称: 基于DeepSeek-R1与飞书妙记的课堂话语智能分析实践计划
明白了!针对教师个人能力范围(无需编程、无需服务器、零预算),我设计一个纯手工+免费工具组合的极简技术方案,用飞书基础功能和DeepSeek网页版就能实现核心分析。申报书重点突出 “轻量、易用、快速启动”。 项目申报书(极简个人实践版) 项目名称: 基于DeepSeek-R1与飞…...

JAVA:Kafka 消息可靠性详解与实践样例
🧱 1、简述 Apache Kafka 是高吞吐、可扩展的流处理平台,在分布式架构中广泛应用于日志采集、事件驱动和微服务解耦场景。但在使用过程中,消息是否会丢?何时丢?如何防止丢? 是很多开发者关心的问题。 Kafka 提供了一套完整的机制来保障消息从生产者 ➜ Broker ➜ 消费…...
【前端】Twemoji(Twitter Emoji)
目录 注意使用Vue / React 项目 验证 Twemoji 的作用: Twemoji 会把你网页/应用中的 Emoji 字符(如 😄)自动替换为 Twitter 风格的图片(SVG/PNG); 它不依赖系统字体,因此在 Android、…...

Electron 桌面程序读取dll动态库
序幕:被GFW狙击的第一次构建 当我在工位上输入npm install electron时,控制台跳出的红色警报如同数字柏林墙上的一道弹痕: Error: connect ETIMEDOUT 104.20.22.46:443 网络问题不用愁,请移步我的另外文章进行配置:…...
实时技术对比:SSE vs WebSocket vs Long Polling
早期网站仅展示静态内容,而如今我们更期望:实时更新、即时聊天、通知推送和动态仪表盘。 那么要如何实现实时的用户体验呢?三大经典技术各显神通: • SSE(Server-Sent Events):轻量级单向数据…...
js 手写promise
const PENDING pending; const FULFILLED fulfilled; const REJECTED rejected;class MyPromise {#status PENDING;#result undefined;#handler undefined;constructor(executor) {// 不能写在外面,因为this指向会出问题const resolve (data) > {this.#ch…...

HTTP 与 HTTPS 深度解析:原理、实践与大型项目应用
1. HTTP 与 HTTPS 基础概念 1.1 HTTP(超文本传输协议) 定义:应用层协议,基于 TCP/IP 通信,默认端口 80 特点: 无状态协议(需 Cookie/Session 维护状态) 明文传输(易被…...
QT6.9中opencv引用路径的其中一种设置
RC_ICONSappimage.ico unix|win32: LIBS -L$$PWD/opencv455/vc15/lib/ -lopencv_world455 INCLUDEPATH $$PWD/opencv455/include DEPENDPATH $$PWD/opencv455/include RC_ICONS为指定图标文件,只写图标名appimage.ico,那么一般和pro文件在同一目录…...
k8s pod启动失败问题排查
1. 查看日志 kubectl describe pod xxx -n xxx kubectl logs podname -n xxx --tail200 2. 镜像 到pod所在主机检查pod所需的镜像是否能成功拉取(docker images) 3.硬件资源 检查pod所在服务器的磁盘空间是否被占满(df -h 和 du -sh /&a…...
Java类中各部分内容的加载执行顺序
目录 1. 静态初始化(类加载阶段) 示例代码 输出 2. 实例初始化(对象创建阶段) 详细顺序 示例代码 输出 3. 关键规则总结 4. 注意事项 5. 完整流程图 在Java中,类的实例化过程(对象创建࿰…...
git提交信息错误,如何修改远程git提交的备注信息
有时候我们在git提交时没有按照规范提交。此时就需要修改远程git提交的备注信息。 一、修改最近几次提交 首先确保当前分支没有未提交的更改 git status使用交互式rebase修改历史记录(假设要修改最近3次提交) git rebase -i HEAD~3在打开的编辑器中&…...

API Gateway CLI 实操入门笔记(基于 LocalStack)
API Gateway CLI 实操入门笔记(基于 LocalStack) Categories: Cloud Google Rank Proof: No Last edited time: May 26, 2025 4:18 AM Status: Early draft Tags: aws 主要先简单的走一下流程,熟悉一下在 terminal 操作 API Gateway local…...
基于MATLAB实现SFA(Slow Feature Analysis,慢特征分析)算法
基于MATLAB实现SFA(Slow Feature Analysis,慢特征分析)算法的代码示例: % SFA慢特征分析 % 需要signal处理工具箱% 生成示例信号 t linspace(0,1,1000); x sin(2*pi*10*t) sin(2*pi*20*t) randn(size(t));% 定义滤波器 b fi…...