什么是 查询字符串?

查询字符串是 URL 中问号(?)之后用于向服务器传递参数的部分,由以 & 分隔的键值对组成。它广泛应用于搜索查询、分页控制、数据过滤和营销追踪等场景,特殊字符需要进行 URL 编码处理,是 Web 开发中实现无状态数据传递的重要机制。

快速了解

全称URL 查询字符串
创建时间1994 年(RFC 1738 - URL 规范)
规范文档官方规范

工作原理

查询字符串是一种通过 URL 向服务器或 Web 应用传递参数的方式。它以问号(?)开始,包含一个或多个用 & 分隔的 key=value 键值对。例如,在 URL 'https://example.com/search?q=hello&lang=zh' 中,查询字符串是 'q=hello&lang=zh'。查询字符串广泛用于搜索参数、分页、过滤、跟踪代码以及在页面之间传递数据。查询字符串中的特殊字符必须进行 URL 编码(百分比编码),例如空格变为 %20 或 +。虽然查询字符串便于创建可收藏的 URL 和 GET 请求,但它有一些限制:在浏览器历史记录中可见、有长度限制(通常 2048 字符),且不应包含敏感数据。对于复杂数据,请考虑使用带有请求体的 POST 请求。

主要特点

  • 以 ? 开始,跟在 URL 路径之后
  • 键值对用 & 符号分隔
  • 特殊字符的值必须进行 URL 编码
  • 在浏览器地址栏和历史记录中可见
  • 受长度限制(取决于浏览器/服务器)
  • 主要用于 HTTP GET 请求

常见用途

  1. 搜索引擎查询(q=搜索词)
  2. 分页参数(page=2&limit=10)
  3. 数据过滤和排序(?sort=date&order=desc)
  4. 营销分析的 UTM 跟踪代码
  5. 无需会话即可在页面间传递状态

示例

loading...
Loading code...

常见问题

查询字符串的最大长度是多少?

HTTP 规范没有官方限制,但浏览器和服务器会施加实际限制。大多数浏览器支持最多 2,048 个字符的 URL,而某些服务器可能接受更长的 URL。为了可靠的跨浏览器兼容性,建议将查询字符串保持在 2,000 个字符以内。

如何处理查询字符串中的特殊字符?

特殊字符必须进行 URL 编码(百分比编码)。例如,空格变为 %20 或 +,& 符号变为 %26,等号变为 %3D。在 JavaScript 中,使用 encodeURIComponent() 对值进行编码,或使用会自动处理编码的 URLSearchParams API。

查询字符串和 URL 片段有什么区别?

查询字符串(? 之后)会发送到服务器用于服务器端处理,而 URL 片段(# 之后)仅在客户端处理,不会发送到服务器。片段通常用于页内导航或单页应用程序中的客户端路由。

查询字符串可以包含数组或嵌套对象吗?

可以,但没有标准格式。常见的约定包括重复键(colors=red&colors=blue)、方括号表示法(colors[]=red&colors[]=blue)或逗号分隔值(colors=red,blue)。对于复杂的数据结构,建议使用带有 JSON 请求体的 POST 请求。

查询字符串对于敏感数据是否安全?

不安全,查询字符串不应包含密码或 API 密钥等敏感数据。它们在浏览器历史记录、服务器日志、referrer 头中可见,并且可能被缓存。对于敏感数据,应使用带有 HTTPS 的 POST 请求、将数据存储在请求头中,或使用安全 cookie。

相关工具

相关术语

相关文章

Data URL详解【2026】- 内联资源嵌入最佳实践

深入系统学习前端 Data URL(数据统一资源定位符)的核心渲染机制原理与高级性能优化应用。全面掌握如何在 CSS 或 HTML 中直接内联嵌入图片、SVG 矢量图标和自定义 Web 字体,从而有效减少 HTTP 网络请求并大幅优化 Web 页面首屏加载时间。本指南涵盖 Base64 编码体积膨胀机制、浏览器缓存策略权衡分析,并附带基于 Webpack/Vite 的完整前端构建实战代码示例!

2024-01-18

Bearer Token认证详解【2026】- API安全最佳实践与实现

深入硬核学习现代 RESTful API 设计中无处不在的 Bearer Token 无状态身份认证体系底层机制与企业级最佳安全防范实践。全面掌握 OAuth 2.0 与 OIDC 授权框架中的访问令牌(Access Token)安全分发流程,以及在前端单页应用(SPA)与移动端 App 中如何正确管理 Token 存储、实施刷新(Refresh)机制与防范网络拦截抓包和跨站脚本(XSS/CSRF)攻击风险,彻底确保系统接口的数据安全。

2024-01-17

URL编码解码详解【2026】- 百分号编码原理与最佳实践

深入学习现代 Web 网络传输中 URL 编码(Percent-encoding)与解码的底层运行原理与实战开发技巧。全面掌握哪些 URL 特殊字符(保留字符与非保留字符)必须处理、如何彻底保障前后端 REST API 传参的数据完整性不被截断、以及 JavaScript 中 encodeURIComponent 函数的正确使用场景与业界最佳实践。附带 Python、Java 跨语言实战代码示例!

2024-01-20