PHP Web 概念学习
Web 运行在 Http 上,Http 决定浏览器和服务器之间如何传递信息和 文件。
这里有一批概念围绕 Web 和 Http 展开,不过我想读者中的大部分都会具备,毕竟 MDN Google Microsoft 的学习资源已然不错。
我的方式
在浏览器中按 F12 键,现代浏览器一般会打开调试界面,我们查看其中的网络标签页观察 Http 请求。
PHP 做了什么
如果没有 PHP,那么将很原始的处理浏览器与服务器之间的信息交换。所有的 Web 框架都会去处理这块与人类编程目的相关性弱的部分。
PHP 用 6 个全局数组简化了这些活:
- $_ENV
- $_GET
- $_COOKIE
- $_POST
- $_SERVER
- $_FILE
另有 $_REQUEST 由 $_GET、$_COOKIE、$_POST 组成。
$_SERVER 数组包含网页服务器信息。(CGI 规范要求的环境变量)
- PHP_SELF: 当前脚本文件名,如 cart.php
- SERVER_SOFTWARE: 服务器标识字符串
- SERVER_NAME DNS: 别名或 IP,如 www.example.com
- GATEWAY_INTERFACE: CGI 标准版本,如 CGI/1.1
- SERVER_PROTOCAL: 协议名称和版本,如 HTTP/1.1
- SERVER_ROOT: 端口号,如 80
- REQUEST_METHOD: HTTP 方法,如 GET POST
- PATH_INFO: 客户端额外路径
- PATH_TRANSLATED: 服务器转化后的文件名
- SCRIPT_NAME: URL 路径
- QUERY_STRING: URL 中
?
后面的部分 - REMOTE_HOST: 用户主机名,如果没有则为空
- REMOTE_ADDR:用户 IP 地址
- AUTH_TYPE: 认证方法
- REMOTE_USER: 认证的用户名
- HTTP_USER_AGENT: 浏览器表示字符串
- HTTP_REFERER:当前页面来自哪个页面
例子
The C Programming Language 的 hello world 例子。
#include <stdio.h>
main()
{
printf("hello, world\n");
}
在 PHP 中是这样的
<?php
echo "hello, world<br />";
程序员编写的 PHP 脚本,部署在服务器上时,最后会在一个外层 EVAL 中被解释执行。