下面是【计算机网络】第2章:应用层——Web与HTTP的详细讲解,涵盖Web架构、HTTP协议核心内容和应用层原理,适合入门和复习。


目录

  1. 应用层简介
  2. Web架构概述
  3. HTTP协议基础
  4. HTTP请求与响应详解
  5. 状态管理:Cookie与Session
  6. HTTPS和安全通信
  7. 小结与复习要点

1️⃣ 应用层简介

  • 应用层是计算机网络体系结构中的最高层,直接面向用户和应用程序。
  • 主要职责是实现网络应用服务的协议与数据交互,比如HTTP、FTP、DNS等。
  • 应用层协议往往基于传输层提供的服务(通常是TCP或UDP)。

2️⃣ Web架构概述

  • **Web(万维网)**是一种基于客户端-服务器(C/S)模型的分布式系统。
  • 典型结构:
    • 客户端(浏览器)发起HTTP请求。
    • 服务器端(Web服务器)处理请求,返回网页内容。
  • 服务器响应的内容类型可以是HTML文档、图片、视频、CSS、JavaScript等。

3️⃣ HTTP协议基础

  • **HTTP(HyperText Transfer Protocol)**是Web的基础通信协议。
  • 它是一种基于文本的无状态请求-响应协议,工作在应用层。
  • 端口号:默认使用TCP端口80(HTTP)和443(HTTPS)。
  • 主要特点:
    • 无状态:服务器不保留请求之间的状态。
    • 灵活:支持多种请求方法和内容类型。

4️⃣ HTTP请求与响应详解

4.1 HTTP请求组成

  • 请求行:包含请求方法、URL、协议版本
    例如:GET /index.html HTTP/1.1
  • 请求头(Headers):包含请求相关的附加信息,如HostUser-AgentAccept
  • 空行
  • 请求体(Body):用于POST等请求提交数据

4.2 常用HTTP请求方法

方法说明
GET请求指定资源
POST向服务器提交数据
HEAD获取资源的响应头
PUT更新资源
DELETE删除资源
OPTIONS查询服务器支持的方法

4.3 HTTP响应组成

  • 状态行:协议版本、状态码、状态短语
    例如:HTTP/1.1 200 OK
  • 响应头(Headers):服务器信息、内容类型、缓存策略等
  • 空行
  • 响应体(Body):实际返回的资源内容

4.4 常见HTTP状态码

状态码描述
200成功
301永久重定向
302临时重定向
400请求错误
401未授权
403禁止访问
404资源未找到
500服务器内部错误

5️⃣ 状态管理:Cookie与Session

  • HTTP无状态,需要借助Cookie和Session管理会话状态。
  • Cookie:由服务器发送并存储在浏览器的小文件,客户端每次请求都会带上Cookie。
  • Session:服务器端保存的用户状态信息,通常通过Cookie中的Session ID进行关联。

6️⃣ HTTPS和安全通信

  • HTTPS是基于HTTP的安全版协议,使用TLS/SSL实现加密通信。
  • 通过证书验证服务器身份,防止中间人攻击和数据窃听。
  • HTTPS默认端口是443。

7️⃣ 小结与复习要点

  • 应用层协议实现用户和网络的交互,HTTP是Web的核心协议。
  • HTTP基于请求-响应模型,支持多种方法和状态码。
  • HTTP是无状态协议,需用Cookie和Session管理用户状态。
  • HTTPS确保数据在传输中的安全性。

参考资料

  • 《计算机网络:自顶向下方法》 — Kurose & Ross
  • RFC 7230-7235(HTTP/1.1规范)
  • MDN Web Docs: HTTP Overview