HTTP 协议是建立在 TCP/IP协议 基础上的协议 ,也就是说,在通过 TCP 三次握手建立了连接之后,数据之间的传输需要遵循约定好的规范,如请求报文、响应报文等。
现今主流开源的 HTTP 服务器分别是 apache、 nginx 。除此之外,Swoole 也可以快速搭建 HTTP 服务器。
1. 创建脚本:http_server.php
<?php
// 创建 Server 对象,0.0.0.0 监听全部地址:9501端口
$http = new Swoole\Http\Server("0.0.0.0", 9501);
// 配置
$http->set([
// 开启静态文件请求处理功能
"enable_static_handler" => true,
// 默认访问的静态目录
"document_root" => "/usr/share/nginx/html"
]);
/**
* 监听请求
* @param $request 获取客户端http请求信息(header/get/post/cookie)
* @param $response 设置服务端http响应对象(cookie/header/status)
*/
$http->on('request', function ($request, $response) {
var_dump($request->get, $request->post);
$response->header("Content-Type", "text/html; charset=utf-8");
$response->end("<h1>Hello Swoole</h1>");
});
// 启动服务
$http->start();
2. 执行脚本:
php73 http_server.php
3. 浏览器访问:
4. 结果返回