Skip to content

3.1 网页运行流程(浏览器 → 服务器 → PHP → 浏览器)

了解网页的运行流程对于学习 PHP 非常重要,它有助于你理解 PHP 在整个 Web 应用中的角色。

1. 完整的网页运行流程

步骤 1:用户发送请求

步骤 2:浏览器处理请求

  • 浏览器解析 URL,确定服务器地址
  • 浏览器向服务器发送 HTTP 请求
  • 请求包含请求方法(GET/POST)、URL、HTTP 头信息等

步骤 3:服务器接收请求

  • Web 服务器(Apache/Nginx)接收 HTTP 请求
  • 服务器根据请求的 URL 确定要处理的文件
  • 如果请求的是 PHP 文件,服务器将请求传递给 PHP 解释器

步骤 4:PHP 解释器处理

  • PHP 解释器读取并解析 PHP 文件
  • 执行 PHP 代码,处理逻辑
  • 可能与数据库交互、读取文件、处理表单数据等
  • 生成 HTML 响应

步骤 5:服务器返回响应

  • Web 服务器接收 PHP 生成的 HTML
  • 服务器将 HTML 作为 HTTP 响应返回给浏览器
  • 响应包含状态码、响应头、响应体等

步骤 6:浏览器渲染页面

  • 浏览器接收 HTTP 响应
  • 解析 HTML、CSS、JavaScript
  • 构建 DOM 树和渲染树
  • 渲染页面并显示给用户

2. PHP 在流程中的角色

PHP 的作用

  • 服务器端处理:在服务器上执行,而非客户端
  • 动态内容生成:根据用户请求和数据生成动态内容
  • 数据处理:处理表单数据、会话管理、数据库操作等
  • 业务逻辑:实现应用的核心业务逻辑

PHP 与其他技术的关系

  • HTML:PHP 生成 HTML 内容
  • CSS:PHP 可以动态生成 CSS 或引用 CSS 文件
  • JavaScript:PHP 可以生成 JavaScript 代码或与前端 JavaScript 交互
  • 数据库:PHP 与数据库交互,获取和存储数据

3. HTTP 请求方法

GET 方法

  • 用途:获取资源,如浏览网页
  • 特点:参数在 URL 中显示,有长度限制
  • PHP 处理:通过 $_GET 超全局变量获取参数

POST 方法

  • 用途:提交数据,如表单提交
  • 特点:参数在请求体中,无长度限制
  • PHP 处理:通过 $_POST 超全局变量获取参数

其他方法

  • PUT:更新资源
  • DELETE:删除资源
  • HEAD:获取头部信息
  • OPTIONS:获取服务器支持的方法

4. HTTP 状态码

成功状态码

  • 200 OK:请求成功
  • 201 Created:资源创建成功

重定向状态码

  • 301 Moved Permanently:永久重定向
  • 302 Found:临时重定向

客户端错误

  • 400 Bad Request:请求错误
  • 401 Unauthorized:未授权
  • 403 Forbidden:禁止访问
  • 404 Not Found:资源不存在

服务器错误

  • 500 Internal Server Error:服务器内部错误
  • 503 Service Unavailable:服务不可用

5. PHP 处理流程

1. 解析请求

  • 读取 HTTP 请求头和请求体
  • 解析 URL 参数和表单数据
  • 初始化超全局变量($_GET、$_POST、$_SERVER 等)

2. 执行代码

  • 执行 PHP 脚本中的代码
  • 处理业务逻辑
  • 与数据库和其他服务交互

3. 生成响应

  • 生成 HTML、JSON 或其他格式的响应
  • 设置 HTTP 响应头
  • 输出响应内容

4. 结束请求

  • 释放资源
  • 关闭数据库连接
  • 结束脚本执行

6. 示例:简单的 PHP 处理流程

php
<?php
// 1. 解析请求
$name = isset($_GET['name']) ? $_GET['name'] : 'Guest';

// 2. 执行代码
$greeting = "Hello, $name!";
$currentTime = date('Y-m-d H:i:s');

// 3. 生成响应
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>PHP 示例</title>
</head>
<body>
    <h1><?php echo $greeting; ?></h1>
    <p>当前时间:<?php echo $currentTime; ?></p>
    <form method="get">
        <input type="text" name="name" placeholder="请输入你的名字">
        <button type="submit">提交</button>
    </form>
</body>
</html>

7. 性能优化考虑

  • 缓存:使用 OPcache 缓存 PHP 字节码
  • 数据库优化:使用索引、预处理语句
  • 代码优化:减少不必要的计算和IO操作
  • 服务器配置:优化 Web 服务器和 PHP 配置

8. 安全考虑

  • 输入验证:验证所有用户输入
  • SQL 注入防护:使用预处理语句或转义
  • XSS 防护:对输出进行 HTML 实体编码
  • CSRF 防护:使用 CSRF 令牌
  • 密码安全:使用密码哈希函数

9. 总结

理解网页运行流程是学习 PHP 的基础,它帮助你了解:

  • PHP 在 Web 应用中的角色
  • HTTP 请求和响应的处理过程
  • 如何优化和安全地开发 PHP 应用

掌握这些知识后,你将能够更好地设计和开发 PHP 应用,解决开发中遇到的问题。

© 2026 编程马·菜鸟教程 版权所有