跳到主要内容

PHP Web 概念学习

Web 运行在 Http 上,Http 决定浏览器和服务器之间如何传递信息和文件。

这里有一批概念围绕 Web 和 Http 展开,不过我想读者中的大部分都会具备,毕竟 MDN Google Microsoft 的学习资源已然不错。

我的方式

在浏览器中按 F12 键,现代浏览器一般会打开调试界面,我们查看其中的网络标签页观察 Http 请求。

PHP 做了什么

如果没有 PHP,那么将很原始的处理浏览器与服务器之间的信息交换。所有的 Web 框架都会去处理这块与人类编程目的相关性弱的部分。

PHP 用 6 个全局数组简化了这些活:

  1. $_ENV
  2. $_GET
  3. $_COOKIE
  4. $_POST
  5. $_SERVER
  6. $_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 中被解释执行。