VuePress 站点
首页
数学
计算机基础
Java后端
AI大模型
UI设计
首页
数学
计算机基础
Java后端
AI大模型
UI设计
  • 计算机基础
  • 计算机网络应用

    • 课程笔记:TCP三次握手建立连接
    • 课程笔记:TCP三次握手的必要性
    • 课程笔记:TCP协议缺陷与SYN Flood攻击
    • 课程笔记:TCP四次挥手释放连接
    • 课程笔记:TCP四次挥手释放连接的必要性
    • 课程笔记:TCP 报文段格式与 IP 分组
    • 课程笔记:HTTP/2 新特性——二进制分帧
    • 课程笔记:HTTP/2 新特性——多路复用
    • 课程笔记:HTTP/2 新特性——服务器推送(Server Push)
    • 课程笔记:HTTPS 简介与架构图
    • 课程笔记:HTTPS原理与传输层安全协议(TLS)
    • 课程笔记:HTTPS原理——对称加密算法
    • 课程笔记:HTTPS原理——非对称加密算法
    • 课程笔记:HTTPS 原理 —— 数字签名
    • 课程笔记:HTTPS 原理——证书与 CA
    • 课程笔记:完整的HTTPS协议通信流程
    • 课程笔记:HTTPS 协议的性能损耗
    • 课程笔记:TLS False Start 加速 HTTPS
    • 课程笔记:升级 HTTP 协议到 HTTP/2
    • 课程笔记:通过会话恢复加速 HTTPS
    • 课程笔记:OWASP 组织与十大 Web 安全漏洞
    • 课程笔记:XSS 跨站脚本攻击
    • 课程笔记:存储型XSS跨站脚本攻击
    • 课程笔记:XSS攻击窃取Cookie
    • 课程笔记:反射型XSS跨站脚本攻击
    • 课程笔记:DOM型XSS跨站脚本攻击
    • 课程笔记:植入 JS、HTML 代码攻击
    • 课程笔记:XSS攻击的防护策略
    • 课程笔记:XSS攻击的输入环节防护
    • 课程笔记:XSS 劫持 Cookie 的防护策略
    • 课程笔记:XSS 内容输出防护方案
    • 课程笔记:CSP 内容安全策略
    • 课程笔记:CSP 内容安全策略的应用方式
    • 课程笔记:CSRF 跨站请求伪造攻击原理
    • 课程笔记:CSRF 跨站点请求伪造攻击案例
    • 课程笔记:CSRF 跨站请求伪造防护方案
    • 课程笔记:OWASP CSRFTester 工具的原理与使用
    • 课程笔记:点击劫持攻击原理
    • 课程笔记:点击劫持防护方案
    • 课程笔记:URL 跳转漏洞原理与防护
    • 课程笔记:Session 认证与会话劫持
    • 课程笔记:Session固定与Session保持攻击
    • 课程笔记:注入攻击与 OWASP 靶机平台
    • 课程笔记:SQL盲注与ORM注入攻击及防护
    • 课程笔记:XML注入、代码注入、OS命令注入攻击
    • 课程笔记:文件上传漏洞与文件下载/目录浏览漏洞
    • 课程笔记:访问控制与权限访问漏洞
    • 课程笔记:DDoS 分布式拒绝服务攻击原理与防护
    • 课程笔记:CC(Challenge Collapsar)攻击与防护
    • 课程笔记:CDN 的工作原理
    • 课程笔记:CDN的网络架构和术语说明
    • 课程笔记:CDN应用场景与阿里云CDN
    • 课程笔记:如何使用阿里云CDN服务
    • 课程笔记:CDN 刷新与预热
    • 课程笔记:阿里云 CDN 回源配置
    • 课程笔记:CDN 缓存配置
    • 课程笔记:CDN 访问控制与性能优化
  • 计算机网网络

    • 📖 教材介绍与课程导言
    • 📖 1.1 信息时代的计算机网络
    • 📖 1.2 因特网概述
    • 📖 1.3 电路交换、分组交换和报文交换
    • 📖 1.4 计算机网络的定义和分类
    • 📖 1.5 计算机网络的性能指标(1)
    • 📖 1.5 计算机网络的性能指标(2)
    • 📖 1.6.1 常见的三种计算机网络体系结构
    • 📖 1.6.2 计算机网络体系结构分层的必要性
    • 📖 1.6.3 计算机网络体系结构分层思想举例
    • 📖 计算机网络体系结构中的专用术语
    • 📖 物理层概述
    • 📖 物理层下面的传输媒体
    • 📖 传输方式
    • 📖 编码与调制
    • 📖 2.5 信道的极限容量
    • 📖 2.6 信道复用技术
    • 📖 3.1 数据链路层概述
    • 📖 3.2 数据链路层的三个重要问题
    • 📖 3.2.1 封装成帧和透明传输
    • 📖 3.2.2 差错检测
    • 📖 3.2.3 (1) 可靠传输的相关基本概念
    • 📖 3.2.3 (2) 可靠传输的实现机制 - 停止-等待协议(SW)
    • 📖 3.2.3 (3) 可靠传输的实现机制 - 回退N帧协议(GBN)
    • 📖 3.2.3 (4) 可靠传输的实现机制 - 选择重传协议(SR)
    • 📖 3.3 点对点协议 PPP
    • 📖 3.4 共享式以太网
    • 📖 3.4.1 网络适配器和 MAC 地址
    • 📖 3.4.2 (1) CSMA/CD 协议的基本原理
    • 📖 3.4.2 (2) 共享式以太网的争用期、最小帧长和最大帧长
    • 📖 3.4.2 (3) 共享式以太网的退避算法和信道利用率
    • 📖 3.4.3 使用集线器的共享式以太网
    • 📖 3.4.4 在物理层扩展以太网
    • 📖 3.4.5 (1) 网桥的主要结构和基本工作原理
    • 📖 3.4.5 (2) 透明网桥的自学习和转发帧的过程以及生成树协议STP
    • 📖 3.5 交换式以太网
    • 📖 3.5.1 以太网交换机
    • 📖 3.5.2 共享式以太网和交换式以太网的对比
    • 📖 3.6 以太网的MAC帧格式
    • 📖 3.7.1 虚拟局域网 VLAN 概述
    • 📖 3.7.2 虚拟局域网 VLAN 的实现机制
    • 📖 3.8 以太网的发展
    • 📖 3.9.1 802.11 无线局域网的组成
    • 📖 3.9.2 802.11 无线局域网的物理层
    • 📖 3.9.3 (1) 802.11 无线局域网的数据链路层 —— 使用 CSMA/CA 协议(而不使用 CSMA/CD 协议)
    • 📖 CSMA/CA(载波监听多址接入/碰撞避免)协议的基本工作原理
    • 📖 802.11 无线局域网的 MAC 帧格式
    • 📖 网络层概述
    • 📖 网际协议 IP(网际协议)与异构网络互连
    • 📖 IPv4 地址及其编址方法——概述
    • 📖 IPv4 地址的分类编址方法
    • 📖 IPv4 地址的划分子网编址方法
    • 📖 IPv4 地址的无分类编址方法(CIDR)
    • 📖 IPv4 地址的应用规划
    • 📖 IPv4 地址与 MAC 地址
    • 📖 地址解析协议 ARP
    • 📖 IP 数据报的发送和转发流程
    • 📖 IPv4 数据报的首部格式
    • 📖 静态路由配置
    • 📖 因特网的路由选择协议概述
    • 📖 路由信息协议 RIP(路由信息协议)
    • 📖 开放最短路径优先 OSPF(开放最短路径优先)
    • 📖 边界网关协议 BGP(边界网关协议)
    • 📖 路由器的基本工作原理
    • 📖 网际控制报文协议 ICMP(网际控制报文协议)
    • 📖 虚拟专用网 VPN 和网络地址转换 NAT
    • 📖 IP 多播技术的相关基本概念
    • 📖 在局域网上进行硬件多播
    • 📖 在因特网上进行 IP 多播需要的两种协议
    • 📖 网际组管理协议 IGMP
    • 📖 多播路由选择协议
    • 📖 移动 IP 技术概述
    • 📖 IPv6 引进的主要变化
    • 📖 IPv6 数据报的基本首部和扩展首部
    • 📖 IPv6 地址
    • 📖 从 IPv4 向 IPv6 过渡
    • 📖 网际控制报文协议 ICMPv6
    • 📖 软件定义网络 SDN
    • 📖 运输层概述 — 进程间基于网络的通信
    • 📖 TCP/IP 体系结构运输层中的两个重要协议
    • 📖 运输层端口号、复用与分用的概念
    • 📖 UDP 和 TCP 的对比
    • 📖 TCP 报文段的首部格式
    • 📖 "三报文握手"建立 TCP 连接
    • 📖 "四报文挥手"释放 TCP 连接
    • 📖 TCP 的流量控制 (Flow Control)
    • 📖 TCP 的拥塞控制 (Congestion Control) 及与网际层拥塞控制的关系
    • 📖 TCP 可靠传输的实现
    • 📖 TCP 超时重传时间 (RTO) 的选择
    • 📖 TCP 的选择确认 (SACK)
    • 📖 6.1 应用层概述
    • 📖 6.2 客户—服务器方式和对等方式
    • 📖 6.3 动态主机配置协议 DHCP
    • 📖 6.4 域名系统 DNS
    • 📖 6.5 文件传送协议 FTP
    • 📖 电子邮件
    • 📖 万维网 WWW
    • 📖 网络安全概述
    • 📖 密码学相关基本概念
    • 📖 对称密钥密码体制
    • 📖 公钥密码体制
    • 📖 报文摘要和报文鉴别码
    • 📖 数字签名(digital signature)
    • 📖 实体鉴别
    • 📖 密钥分发
    • 📖 访问控制
    • 📖 网络体系结构各层采取的安全措施—物理层和数据链路层
    • 📖 网络体系结构各层采取的安全措施—网络层
    • 📖 网络体系结构各层采取的安全措施—运输层
    • 📖 网络体系结构各层采取的安全措施—应用层
    • 📖 防火墙访问控制与入侵检测系统
    • 📖 常见的网络攻击及其防范
    • 📖 定长子网划分和变长子网划分的二叉树解法

📖 万维网 WWW

🎯 课程摘要:万维网 WWW(万维网) 是运行在因特网上的分布式应用,利用超链接将不同网站的网页链接成逻辑信息网。本节介绍万维网的基本概念、URL(统一资源定位符) 格式、万维网文档(HTML/CSS/JavaScript)、HTTP(超文本传送协议) 的工作原理(持续连接、流水线)、HTTP 报文格式、Cookie 机制以及万维网缓存与代理服务器。

📝 详细笔记

1. 万维网概述

  • 概念定义:万维网并非某种特殊的计算机网络,它是一个大规模的联机式信息储藏所,是运行在因特网上的一个分布式应用。
  • 核心思想:利用网页之间的超链接,将不同网站的网页链接成一张逻辑上的信息网。
  • 发展历史:
    • 1989 年 3 月:欧洲粒子物理实验室的蒂姆·伯纳斯·李最初提出
    • 1993 年 2 月:诞生世界上第一个图形界面浏览器 Mosaic
    • 1995 年:著名的网景浏览器上市
  • 主流浏览器及内核:Chrome、Firefox、Safari、Opera、IE 等。浏览器最重要的部分是渲染引擎(浏览器内核),负责对网页内容进行解析和显示。不同内核对网页解析有所不同,同一网页在不同内核浏览器中显示效果可能不同。

2. URL(统一资源定位符)

  • 作用:为了方便地访问世界范围的文档,万维网使用 URL(统一资源定位符) 来指明因特网上任何种类资源的位置。
  • 一般形式由四部分组成:
<协议>://<主机>:<端口>/<路径>
组成部分说明
协议访问文档采用的协议,如 HTTP
主机存放资源的主机域名或 IP 地址
端口服务器端口号(HTTP 默认 80,常省略)
路径资源在主机上的路径及网页文件名
  • ⚠️ 重点/考点:点击网页中的超链接跳转时,协议、主机和端口通常与首页相同,不同的是路径和网页文件。

3. 万维网文档

文档类型全称作用
HTMLHTML(超文本标记语言)使用多种标签描述网页的结构和内容
CSS层叠样式表从审美角度描述网页的样式
JavaScript脚本语言用来控制网页的行为
  • 三者编写的万维网文档由浏览器内核负责解释和渲染。
  • HTML 常见标签:<html>(定义文档范围)、<head>(定义首部)、<body>(定义主体)、<title>(网页标题)、<p>(文本段落)、<link>(引入 CSS)、<script>(引入 JS)、<button>(按钮)等。
  • 这些文档都部署在服务器端,包括静态页面和服务器后端根据用户需求自动生成的动态页面,需从服务器传送给浏览器解析渲染。

4. HTTP(超文本传送协议) 概述

  • 概念定义:HTTP(超文本传送协议) 是 TCP/IP 体系应用层中非常重要的协议,定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
  • 工作过程:浏览器进程发起与服务器进程的 TCP 连接(熟知端口号 80),基于该连接发送 HTTP 请求报文,服务器执行相应操作后发回 HTTP 响应报文。

5. HTTP 的连接方式

版本连接方式特点
HTTP/1.0非持续连接每请求一个文件都要建立 TCP 连接,收到响应后立即关闭;请求一个文档需 2×RTT + 文档传输时延;多个对象需多次 2×RTT 开销
HTTP/1.1持续连接服务器发送响应后仍保持连接,同一客户可继续传送后续请求和响应;还可使用流水线方式(收到响应前连续发送多个请求),节省多个 RTT
  • 非持续连接的时延分析:请求一个万维网文档所需时间 = 2×RTT + 文档传输时延(1 个 RTT 用于 TCP 三报文握手,第 3 个报文载荷携带 HTTP 请求,再 1 个 RTT 用于请求响应)。
  • ⚠️ 重点/考点:
    • 非持续连接每请求一个文档就有 2×RTT 开销;为减少时延浏览器会建立多个并行 TCP 连接,但会大量占用服务器资源。
    • 持续连接的流水线方式:浏览器在收到 HTTP 响应前就能连续发送多个请求报文,减少 TCP 连接空闲时间,提高下载效率。

6. HTTP 报文格式

HTTP 是面向文本的,报文中每个字段都是 ASCII 串,长度不确定。

6.1 HTTP 请求报文

请求行: 方法 URL 版本 CRLF
首部行: 首部字段名: 值 CRLF
       ...(多个首部行)
空行 CRLF
实体主体(通常不使用)

请求行:方法字段 + 空格 + URL 字段 + 空格 + 版本字段 + CRLF

示例:

GET /... HTTP/1.1
Host: www.hnust.edu.cn
Connection: close
User-Agent: 浏览器类型及版本
Accept-Language: cn

(空行,无实体主体)

6.2 HTTP 请求方法

方法含义
GET请求读取由 URL 标识的信息(最常用)
POST向服务器提交数据(如表单提交)
HEAD请求读取由 URL 标识的信息的元信息(不含实体主体)
PUT在给定的 URL 下存储/更新文档
DELETE删除指定 URL 的资源
CONNECT用于代理服务器
OPTIONS查询服务器支持的方法
TRACE回环测试,用于诊断

6.3 HTTP 响应报文

状态行: 版本 状态码 短语 CRLF
首部行: 首部字段名: 值 CRLF
       ...(多个首部行)
空行 CRLF
实体主体

6.4 HTTP 状态码

状态码共五大类、33 种:

类别含义典型示例
1xx信息性状态码,表示请求已接收,继续处理100 Continue
2xx成功状态码,表示请求已被成功接收、理解、接受200 OK(请求成功)、202 Accepted(接受)
3xx重定向状态码,表示需要进一步操作才能完成请求304 Not Modified(文档未修改,用缓存)
4xx客户端错误状态码,表示请求有语法错误或无法完成404 Not Found(找不到请求页面)
5xx服务器错误状态码,表示服务器未能实现合法请求500 Internal Server Error
  • ⚠️ 重点/考点:浏览器通常不直接显示状态行,而是以友好形式告知用户。304 状态码在代理服务器缓存验证中常用。

7. Cookie 机制

  • 背景:早期万维网应用简单,仅查看静态文档,HTTP 被设计为无状态协议以简化服务器设计。现代应用(网上购物、电子商务)需要服务器识别用户。
  • 作用:Cookie 提供一种机制,使万维网服务器能够记住用户而无需用户主动提供标识信息,即 Cookie 是一种对无状态的 HTTP 进行状态化的技术。

Cookie 工作原理:

8. 万维网缓存与代理服务器

  • 概念定义:万维网缓存(Web Cache)可位于客户机或中间系统上,位于中间系统上的 Web 缓存又称为代理服务器。
  • 工作原理:Web 缓存把最近的一些请求和响应暂存在本地磁盘;新请求到达时,若与暂存请求相同,就返回暂存的响应,无需按 URL 地址再次访问因特网资源。
  • 作用:若 Web 缓存命中率较高,可大大减少链路通信量,减少主机访问因特网的时延。

缓存一致性验证(条件请求):

情况过程结果
文档未过期代理服务器直接返回缓存文档主机获得缓存副本
文档已过期代理服务器向原始服务器发送含 If-Modified-Since(取值为文档修改日期)首部行的请求-
原始服务器文档未修改返回 304 Not Modified 响应(不含实体主体)代理服务器更新有效日期后返回缓存文档给主机
原始服务器文档已修改返回封装有新文档的响应代理服务器更新缓存后返回新文档给主机
  • ⚠️ 重点/考点:If-Modified-Since 首部字段 + 304 状态码是缓存验证的核心机制。

9. 考研真题解析

年份题号答案要点
201540C请求行指明方法 GET、URL、HTTP 版本(A 对);Host 首部字段值为网站域名(B 对);Connection: close 表示非持续连接,持续连接应为 keep-alive(C 错);Cookie 首部表明浏览器曾访问过该网站(D 对)
---HTTP 持续连接非流水线方式:请求一个含引用对象的页面,每个对象需单独一个 RTT;从建立 TCP 连接到收到全部内容共 4 个 RTT

💡 核心总结

  • 万维网 = 分布式应用,核心三要素:URL(统一资源定位符)、HTTP(超文本传送协议)、HTML(超文本标记语言)。
  • HTTP 默认端口 80;HTTP/1.0 非持续连接(每文档 2×RTT),HTTP/1.1 持续连接 + 流水线方式提高效率。
  • HTTP 是无状态协议,Cookie 实现状态化。
  • 代理服务器(Web 缓存)通过 If-Modified-Since + 304 状态码验证缓存一致性,减少时延和流量。
  • HTTP 状态码五大类:1xx 信息、2xx 成功、3xx 重定向、4xx 客户端错误、5xx 服务器错误。

❓ 课后思考 / 经典考题

  1. URL 的一般形式由哪四部分组成?
  2. HTTP/1.0 的非持续连接与 HTTP/1.1 的持续连接有何区别?请求一个文档各需多少 RTT?
  3. 什么是流水线方式?它如何提高 HTTP 效率?
  4. HTTP 请求报文和响应报文各由哪些部分组成?
  5. 列举常见的 HTTP 状态码及其含义(200、304、404)。
  6. 为什么说 HTTP 是无状态协议?Cookie 如何实现状态化?
  7. 代理服务器如何验证缓存文档是否过期?涉及哪个首部字段和状态码?
最近更新: 2026/6/23 17:18
Contributors: yangwenguang
Prev
📖 电子邮件
Next
📖 网络安全概述