【计算机网络】第2章:应用层—Web and HTTP

目录

[一、Web 与 HTTP](#一、Web 与 HTTP)

二、总结

[(一)Web 的定义与功能](#(一)Web 的定义与功能)

[(二)HTTP 协议的定义与功能](#(二)HTTP 协议的定义与功能)

[(三)HTTP 协议的核心机制](#(三)HTTP 协议的核心机制)

[1. HTTP 请求与响应流程](#1. HTTP 请求与响应流程)

[2. HTTP 的连接类型](#2. HTTP 的连接类型)

[3. HTTP 的状态码](#3. HTTP 的状态码)

[(四)Web 与 HTTP 的协作模型](#(四)Web 与 HTTP 的协作模型)

[1. 客户端-服务器架构](#1. 客户端-服务器架构)

[2. Web 服务器的组成](#2. Web 服务器的组成)

[(五)Web 的演进与 HTTP 的发展](#(五)Web 的演进与 HTTP 的发展)

[1. Web 的发展阶段](#1. Web 的发展阶段)

[2. HTTP 协议的演进](#2. HTTP 协议的演进)

[(六)Web 与 HTTP 的典型应用场景](#(六)Web 与 HTTP 的典型应用场景)

(七)总结


一、Web 与 HTTP

二、总结

(一)Web 的定义与功能

  • Web(World Wide Web)
    • 定义:Web 是基于超文本(Hypertext)和统一资源定位符(URL)构建的全球信息空间,由相互链接的网页、图像、脚本等数字资源组成。
    • 核心特性
      1. 资源对象化:每个文件(HTML 文档、图片等)视为独立对象。
      2. 超链接导航:通过 URL 实现跨文档跳转。
      3. 客户端-服务器架构:用户通过浏览器访问 Web 服务器上的资源。
    • Web 的组成
      • 网页(Web Page):由 HTML 文件、图片、脚本等对象组成。
      • 网站(Website):多个网页的集合,包含主页和其他子页面。
      • 静态网页 vs 动态网页
        • 静态网页 :固定内容,无需后台交互(如 .html 文件)。
        • 动态网页:内容根据用户请求动态生成(如 PHP、JSP 页面)。

(二)HTTP 协议的定义与功能

  • HTTP(HyperText Transfer Protocol)
    • 定义:HTTP 是支撑 Web 资源传输的应用层协议,定义了客户端与服务器之间的通信规则。
    • 核心功能
      1. 请求-响应模式:客户端发送请求,服务器返回响应。
      2. 支持多种方法 :如 GETPOSTHEAD 等。
      3. 状态码机制 :如 200 OK404 Not Found 等。
      4. 无状态协议:服务器不保存客户端的上下文信息。
    • HTTP 与 Web 的协作
      • Web 的运作完全依赖 HTTP 协议传输资源。
      • 例如:浏览器请求 http://example.com/index.html 时,HTTP 协议负责将 HTML 文档从服务器传输到客户端。

(三)HTTP 协议的核心机制

1. HTTP 请求与响应流程

  • 请求报文结构

    TypeScript 复制代码
    GET /index.html HTTP/1.1
    Host: www.example.com
    User-Agent: Mozilla/5.0
    Accept: text/html
  • 请求行 :包含方法(GET)、URL、HTTP 版本。

  • 请求头 :包含客户端信息(如 User-Agent)、请求修饰符。

  • 请求体 :仅在 POST 方法中使用,用于传输数据。

  • 响应报文结构

TypeScript 复制代码
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 的典型应用场景

  1. 网页浏览:浏览器通过 HTTP 请求加载 HTML、CSS、JavaScript 等资源。
  2. API 接口调用:后端服务通过 HTTP 提供 RESTful API,供前端或移动端调用。
  3. 实时通信:结合 WebSocket 协议,实现双向实时通信(如在线聊天)。
  4. 安全通信:通过 HTTPS(HTTP + TLS/SSL)加密传输数据,保障隐私和完整性。

(七)总结

对比项 Web HTTP
定义 全球信息空间,基于超文本和 URL 构建 应用层协议,用于传输 Web 资源
核心功能 提供信息组织与交互的平台 定义客户端与服务器之间的通信规则
依赖关系 依赖 HTTP 协议传输资源 为 Web 提供传输机制
无状态特性 无状态(需通过 Cookie 或 Token 维持会话) 无状态(每次请求独立)
演进方向 从静态内容到语义网、去中心化 从 HTTP/1.0 到 HTTP/3,优化性能与安全性
相关推荐
野蛮人6号1 小时前
虚拟机网络编译器还原默认设置后VMnet8和VMnet1消失了
网络·vmware·虚拟机网络编译器·vmnet8消失
scuter_yu1 小时前
主流零信任安全产品深度介绍
运维·网络·安全
江苏思维驱动智能研究院有限公司2 小时前
Sophos 网络安全:全球领先的自适应安全解决方案提供商
网络·安全·web安全
面朝大海,春不暖,花不开2 小时前
Java网络编程:TCP/UDP套接字通信详解
java·网络·tcp/ip
ChicagoTypewriter2 小时前
计算机网络中的常用表项梳理
网络·计算机网络·智能路由器
DemonAvenger3 小时前
高性能 TCP 服务器的 Go 语言实现技巧:从原理到实践
网络协议·架构·go
Bruce_Liuxiaowei5 小时前
常见高危端口风险分析与防护指南
网络·网络安全·端口·信息搜集
tmacfrank5 小时前
Android 网络全栈攻略(四)—— TCPIP 协议族与 HTTPS 协议
android·网络·https
liulilittle6 小时前
深度剖析:OPENPPP2 libtcpip 实现原理与架构设计
开发语言·网络·c++·tcp/ip·智能路由器·tcp·通信
cui_win6 小时前
【内存】Linux 内核优化实战 - net.ipv4.tcp_tw_reuse
linux·网络·tcp/ip