Swoole从入门到入土(10)——HTTP服务器[初步接触]

讨论完了TCP服务器,接下来的话题就是HTTP服务器。HTTP这个协议“通常”是搭载在TCP协议上实现的。php

注意,这里用“通常”是之前多数是这样作的,在“HTTP协议白皮书”中没有规定HTTP协议底层要搭载在哪一种协议上,并且在HTTP3(由谷歌QUIC进化而成)所在的传输层就是搭载在UDP协议上。因此千成别认为HTTP协议底层是TCP!html

讨论Swoole中的Http服务器的过程当中,咱们只须要把握如下三点:前端

-Swoole\Http\Server 继承自 Swoole\Server,因此TCP服务器全部的配置项、函数、事件在Http服务器中均可以使用,进程模型也是一致的。编程

-Swoole\Http\Server对 HTTP 协议的支持并不完整,必定要做为应用服务器处理动态请求。而且在前端增长 Nginx 做为代理。服务器

-HTTP 服务器只须要关注请求响应便可,因此只须要监听一个 onRequest 事件。当有新的 HTTP 请求进入就会触发此事件,事件回调函数有 2 个参数,一个是 $request 对象,包含了请求的相关信息,如 GET/POST 请求的数据。。函数

有了以上三点,咱们对一Http服务器的学习难度就大大下降了。学习

 

示例:spa

$http = new Swoole\Http\Server('0.0.0.0', 9501);

$http->on('request', function ($request, $response) {
    var_dump($request->server);
    $response->header("Content-Type", "text/html; charset=utf-8");
    $response->end("<h1>Hello Swoole. #".rand(1000, 9999)."</h1>");
});

$http->start();

效果图:设计

 

 

是否是很简单?全部的工做都在onRequest事件中展开,实现应答式的短链接交互。代理

HTTP初步实验到这里结束,你们下一篇再见:)

 

 

---------------------------  我是可爱的分割线  ----------------------------

最后博主借地宣传一下,漳州编程小组招新了,这是一个面向漳州青少年信息学/软件设计的学习小组,有意向的同窗点击连接,联系我吧。

相关文章
相关标签/搜索