跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
HTML / CSSNode.js大前端

Web 基础技术详解

万维网(Web)的四大核心构成:HTTP、HTML、URL 和超链接。详细阐述了 Web 服务器的概念、主流软件(Apache/Nginx/IIS)及其工作原理。涵盖了从 DNS 解析到 TCP 连接、HTTP 请求响应及浏览器渲染的完整访问流程。此外,还分析了常见 Web 服务器漏洞类型(如注入、XSS、DoS)及防护措施,包括参数化查询、WAF 配置和安全加固实践。

CodeArtist发布于 2026/4/5更新于 2026/9/366 浏览

Web 基础技术详解

万维网(Web)的四大核心构成

万维网的四大核心构成包括超文本传输协议(HTTP)、超文本标记语言(HTML)、统一资源定位符(URL)和超链接(Hyperlink)。这些技术共同支撑了现代互联网的基础架构。

超文本传输协议(HTTP)

HTTP 是客户端和服务器之间通信的基础协议,用于传输超文本数据。它定义了请求和响应的格式,支持 GET、POST 等方法来获取或提交资源。HTTP 是无状态的,但通过 Cookie 等技术可以实现会话管理。

超文本标记语言(HTML)

HTML 是用于创建和设计网页的标准标记语言。它通过标签定义网页的结构和内容,如标题、段落、图像和链接。HTML5 引入了更多语义化标签和多媒体支持,增强了网页的表现力和交互性。

统一资源定位符(URL)

URL 是用于标识互联网上资源位置的字符串。它由协议、域名、路径和查询参数等部分组成。例如,https://example.com/path?query=value。URL 确保用户和程序能够准确访问特定的网络资源。

超链接(Hyperlink)

超链接是连接不同网页或资源的桥梁,通常以可点击的文本或图像形式呈现。它通过 HTML 的 <a> 标签实现,指向另一个 URL。超链接是万维网'网状'结构的核心,实现了信息的互联互通。

这些技术共同构成了万维网的基础,使得信息的发布、检索和共享成为可能。

Web 服务器的基本概念

Web 服务器是一种软件或硬件系统,负责处理客户端(如浏览器)的 HTTP 请求,并返回响应(如 HTML 页面、图像或数据)。常见的 Web 服务器软件包括 Apache、Nginx、IIS 等。

主流 Web 服务器软件

Apache

  • 开源且跨平台,支持模块化扩展。
  • 适合动态内容处理,如与 PHP 结合使用。
  • 配置灵活,但高并发场景下性能可能受限。

Nginx

  • 高性能,擅长处理静态内容和反向代理。
  • 事件驱动架构,支持高并发连接。
  • 常用于负载均衡和缓存加速。

Microsoft IIS

  • 专为 Windows 设计,深度集成.NET 框架。
  • 图形化界面管理,适合企业级应用。
Web 服务器的工作原理
  1. 接收请求:客户端通过 HTTP/HTTPS 协议发送请求。
  2. 处理请求:服务器解析请求(如 URL、方法 GET/POST)。
  3. 生成响应:返回静态文件或调用后端程序(如 PHP、Node.js)。
  4. 发送响应:将 HTML、JSON 等数据返回客户端。

Web 访问流程概述

Web 访问流程描述了从用户在浏览器输入 URL 到页面加载完成的完整过程,涉及 DNS 解析、TCP 连接、HTTP 请求与响应、页面渲染等关键步骤。

DNS 解析

用户在浏览器输入 URL 后,系统首先通过 DNS(域名系统)将域名转换为对应的 IP 地址。DNS 查询遵循递归或迭代方式,依次检查浏览器缓存、操作系统缓存、路由器缓存、ISP DNS 服务器,直至根域名服务器。

建立 TCP 连接

获取目标服务器 IP 后,客户端通过 TCP 三次握手与服务器建立连接。步骤如下:

  1. 客户端发送 SYN(同步)报文到服务器。
  2. 服务器回应 SYN-ACK(同步 - 确认)报文。
  3. 客户端发送 ACK(确认)报文完成握手。

若启用 HTTPS,还需进行 TLS 握手协商加密协议。

发送 HTTP 请求

TCP 连接建立后,浏览器构造 HTTP 请求报文,包含请求方法(如 GET/POST)、请求头(如 User-Agent、Accept)、请求体(如 POST 数据)。示例 GET 请求:

GET /index.html HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 
服务器处理请求

服务器接收请求后,根据路径和参数处理请求,可能涉及后端程序(如 PHP、Node.js)或静态文件直接返回。响应包括状态码(如 200 OK)、响应头(如 Content-Type)和响应体(如 HTML 内容)。

浏览器渲染

浏览器解析响应内容,逐步加载 HTML、CSS、JavaScript 及图片等资源:

  • 构建 DOM 树:解析 HTML 生成文档对象模型。
  • 构建 CSSOM:解析 CSS 生成样式规则树。
  • 执行 JavaScript:可能阻塞渲染,需优化加载顺序。
  • 生成渲染树:合并 DOM 与 CSSOM,计算布局。
  • 绘制页面:根据渲染树进行像素级绘制。
连接终止

页面加载完成后,TCP 连接通过四次挥手释放:

  1. 客户端发送 FIN 报文。
  2. 服务器回应 ACK 报文。
  3. 服务器发送 FIN 报文。
  4. 客户端回应 ACK 报文,等待超时后关闭连接。

性能优化方向

  • 减少 DNS 查询:使用 DNS 预解析或减少域名数量。
  • 复用连接:启用 HTTP/2 或 Keep-Alive 避免重复握手。
  • 压缩资源:Gzip 压缩文本文件,优化图片格式。
  • 延迟加载:异步加载非关键资源(如 JavaScript)。

Web 服务器漏洞类型及防护措施

常见漏洞类型
  • 注入漏洞:SQL 注入、OS 命令注入等攻击方式,通过未过滤的用户输入执行恶意代码。
  • 跨站脚本(XSS):攻击者注入客户端脚本,窃取用户会话或篡改网页内容。
  • 配置错误:默认配置、未关闭的调试接口或暴露的敏感文件(如 .git 目录)。
  • 拒绝服务(DoS/DDoS):通过大量请求耗尽服务器资源导致服务瘫痪。
  • 过时组件:未更新的 Web 服务器软件(如 Apache/Nginx 旧版本)或存在已知漏洞的依赖库。
检测与修复方法
  • 使用自动化工具(如 Nessus、OpenVAS)扫描漏洞,定期进行渗透测试。
  • 对用户输入实施严格过滤和验证,采用参数化查询防止 SQL 注入。
  • 配置 Web 应用防火墙(WAF)拦截恶意流量,如 ModSecurity。
  • 及时安装安全补丁,移除不必要的服务和默认账户。
安全加固实践
  • 最小化权限原则:限制服务器进程和数据库账户的权限。
  • 启用 HTTPS 并配置 HSTS,使用强加密算法(如 TLS 1.3)。
  • 日志监控:记录访问日志和错误日志,设置异常行为告警。
代码示例(防护 SQL 注入)
# 使用参数化查询(Python 示例)
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
user_input = "admin' OR 1=1--"
cursor.execute("SELECT * FROM users WHERE username=?", (user_input,))
# 安全
数学公式(DoS 攻击模型)

攻击流量阈值计算: $$ T_{{attack}} = \frac{{C_{{server}}}}{{R_{{request}}}} $$ 其中,(C_{{server}}) 为服务器承载能力,(R_{{request}}) 为单请求资源消耗。

目录

  1. Web 基础技术详解
  2. 万维网(Web)的四大核心构成
  3. 超文本传输协议(HTTP)
  4. 超文本标记语言(HTML)
  5. 统一资源定位符(URL)
  6. 超链接(Hyperlink)
  7. Web 服务器的基本概念
  8. 主流 Web 服务器软件
  9. Web 服务器的工作原理
  10. Web 访问流程概述
  11. DNS 解析
  12. 建立 TCP 连接
  13. 发送 HTTP 请求
  14. 服务器处理请求
  15. 浏览器渲染
  16. 连接终止
  17. 性能优化方向
  18. Web 服务器漏洞类型及防护措施
  19. 常见漏洞类型
  20. 检测与修复方法
  21. 安全加固实践
  22. 代码示例(防护 SQL 注入)
  23. 使用参数化查询(Python 示例)
  24. 安全
  25. 数学公式(DoS 攻击模型)

更多推荐文章

查看全部
  • AD4630 四通道 SPI 模式配置与采集 FPGA 设计
  • OpenAI 发布 GPT-5 系列:标准版、Mini 与 Nano 解析
  • OpenClaw 多机器人多 Agent 模式解析
  • 基于 7 系列 FPGA 实现万兆以太网通信
  • OpenClaw 对接飞书机器人配置问题排查:消息不回与 Gateway 断开
  • 文件上传漏洞利用原理与防御方案
  • ES6 新特性实战:进制表示、Symbol 与类继承
  • C++ 类与对象进阶特性与编译器优化
  • GitHub Copilot 接入第三方 OpenAI Compatible 模型方法
  • Ubuntu 24.04 本地部署 Open WebUI 与 Ollama 完整指南
  • OpenClaw 对接飞书机器人配置踩坑:消息无响应与 Gateway 断开排查
  • OpenClaw 对接飞书机器人:消息无响应与 Gateway 断开排查
  • 通义万相 2.1 文生图技术特性与部署实践
  • 使用 Faster-Whisper 实现本地实时语音转文本
  • Llama-3.2-3B 部署优化:Ollama 配置上下文窗口与 Token 限制
  • Python 网站爬虫核心技术栈与实战指南
  • C++ 数组模拟单双向链表实现与优化
  • OpenClaw 多 Agent 多 Discord 频道配置实战:从零搭建 AI 团队
  • OpenClaw 免费 AI 大模型选型与配置指南
  • DeepSeek 与通义万相结合制作 AI 视频实战指南

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online