PHP常用服务器变量详解:理解网站请求参数
PHP 是一种广泛使用的脚本语言,用于Web开发,特别是服务器端编程。在处理网站请求的过程中,`$_SERVER` 超全局变量集合包含了丰富的环境信息,这些信息对于理解请求的完整上下文至关重要。以下是一些关键的 $_SERVER 环境变量及其作用: 1. `$_SERVER['SERVER_PROTOCOL']`:这个变量存储了客户端与服务器之间的通信协议名称和版本,例如 "HTTP/1.0" 或 "HTTP/1.1",这对于确定请求的规范化规范非常有用。 2. `$_SERVER['REQUEST_METHOD']`:它表示客户端发送请求的方法,如 "GET"、"HEAD"、"POST"、"PUT" 等,这在处理不同类型的请求(如提交表单数据)时是必不可少的。 3. `$_SERVER['QUERY_STRING']`:此变量包含了通过 URL 的查询字符串传递的参数,这对于解析和解析URL参数非常有用,例如在搜索或过滤数据时。 4. `$_SERVER['DOCUMENT_ROOT']`:这是当前执行脚本所在的文档根目录,开发者可以借此来定位相对路径,确保文件和资源的正确引用。 5. `$_SERVER['PHP_SELF']`:这个变量提供了当前请求的文件名,包括其完整路径,对于处理包含逻辑或重定向很有帮助。 6. `$_SERVER['argv']` 和 `$_SERVER['argc']`:前者是一个数组,包含了通过命令行传递给脚本的所有参数,后者则是参数的数量,这对于实现命令行脚本尤其重要。 7. `$_SERVER['GATEWAY_INTERFACE']`:这个值通常为 "CGI/1.1",表示请求是通过CGI接口传递给服务器的,有助于识别服务器处理请求的方式。 8. `$_SERVER['SERVER_NAME']`:包含了服务器的主机名,这对于构建完整的URL和识别网站域名很有用。 9. `$_SERVER['SERVER_SOFTWARE']`:标识了服务器软件类型和版本,例如 "Apache" 或 "Nginx",有助于了解服务器环境。 10. `$_SERVER['HTTPS']`:如果是通过 HTTPS 连接,则值为 "on",这对于处理安全连接和数据加密非常重要。 11. `$_SERVER['REMOTE_ADDR']` 和 `$_SERVER['REMOTE_HOST']`:前者提供的是客户端的 IP 地址,后者可能是经过代理服务器转发后的主机名,可用于跟踪用户位置或访问权限验证。 12. `$_SERVER['SCRIPT_FILENAME']`:脚本的实际文件路径,对于调试和路径相关操作很有价值。 13. `$_SERVER['SERVER_ADMIN']`:用于联系服务器管理员的电子邮件地址,一般在服务器配置文件中定义。 14. `$_SERVER['SERVER_PORT']`:服务器监听的端口号,例如标准的 HTTP 端口 80 或 HTTPS 端口 443。 理解这些 $_SERVER 变量对于编写适应各种请求场景、处理不同客户端行为和优化服务器响应的 PHP 代码至关重要。它们提供了一个宝贵的窗口,让开发者能够准确地定位和处理来自客户端的请求细节。
$_SERVER['argv'] #传递给该脚本的参数。
$_SERVER['argc'] #包含传递给程序的命令行参数的个数(如果运行在命令行模式)。
$_SERVER['GATEWAY_INTERFACE'] #服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。
$_SERVER['SERVER_NAME'] #当前运行脚本所在服务器主机的名称。
$_SERVER['SERVER_SOFTWARE'] #服务器标识的字串,在响应请求时的头部中给出。
$_SERVER['SERVER_PROTOCOL'] #请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
$_SERVER['REQUEST_METHOD'] #访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。
$_SERVER['QUERY_STRING'] #查询(query)的字符串。
$_SERVER['DOCUMENT_ROOT'] #当前运行脚本所在的文档根目录。在服务器配置文件中定义。
$_SERVER['HTTP_ACCEPT'] #当前请求的 Accept: 头部的内容。
$_SERVER['HTTP_ACCEPT_CHARSET'] #当前请求的 Accept-Charset: 头部的内容。例如:“iso-8859-1,*,utf-8”。
$_SERVER['HTTP_ACCEPT_ENCODING'] #当前请求的 Accept-Encoding: 头部的内容。例如:“gzip”。
$_SERVER['HTTP_ACCEPT_LANGUAGE']#当前请求的 Accept-Language: 头部的内容。例如:“en”。
$_SERVER['HTTP_CONNECTION'] #当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。
$_SERVER['HTTP_HOST'] #当前请求的 Host: 头部的内容。
$_SERVER['HTTP_REFERER'] #链接到当前页面的前一页面的 URL 地址。
$_SERVER['HTTP_USER_AGENT'] #当前请求的 User_Agent: 头部的内容。
$_SERVER['HTTPS'] ― 如果通过https访问,则被设为一个非空的值(on),否则返回off
$_SERVER['REMOTE_ADDR'] #正在浏览当前页面用户的 IP 地址。
$_SERVER['REMOTE_HOST'] #正在浏览当前页面用户的主机名。
$_SERVER['REMOTE_PORT'] #用户连接到服务器时所使用的端口。
$_SERVER['SCRIPT_FILENAME'] #当前执行脚本的绝对路径名。
$_SERVER['SERVER_ADMIN'] #管理员信息
$_SERVER['SERVER_PORT'] #服务器所使用的端口
$_SERVER['SERVER_SIGNATURE'] #包含服务器版本和虚拟主机名的字符串。
$_SERVER['PATH_TRANSLATED'] #当前脚本所在文件系统(不是文档根目录)的基本路径。
$_SERVER['SCRIPT_NAME'] #包含当前脚本的路径。这在页面需要指向自己时非常有用。
$_SERVER['REQUEST_URI'] #访问此页面所需的 URI。例如,“/index.html”。
$_SERVER['PHP_AUTH_USER'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 0
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦