swoole+fetch实现http流式请求响应
大家都知道chatgpt在响应的时候是一个字一个字的输出,这就是流式输出,不过chatgpt使用的eventsource服务端通知技术,具体代码及流程可以参考我的另一篇笔记 https://blog.bfw.wiki/biji_16829157431913890049.html
今天来我们换一种方式,采用http长连接来实现流式输出。
一、http长连接与短连接
我们想看http的长连接与短连接的请求响应图。
HTTP 短连接(也称非持久连接)是指客户端和服务器每进行一次 HTTP 请求/响应之后就会关闭连接,下次请求需要重新建立连接。这种连接方式的优点是能够减少服务器的负载,因为连接短暂,服务器可以更快地处理请求并释放资源,但缺点是每次建立连接都需要消耗时间和资源,可能会影响网络传输速度。HTTP 长连接(也称持久连接)是指客户端和服务器之间建立一次连接后,可以进行多次 HTTP 请求/响应,直到客户端或服务器关闭连接。这种连接方式的优点是能够减少连接建立和关闭的开销,提高网络传输效率,但缺点是在连接期间,服务器需要一直维护连接资源,可能会占用服务器资源,导致服务器负载过高。HTTP 长连接可以进一步扩展为 HTTP 流,也称为服务器推送,即服务器可以在不被请求的情况下向客户端推送数据。HTTP 流通常用于实时通信应用程序、推送通知等场景,能够提高性能和用户体验。总之,HTTP 短连接适用于请求响应次数较少、请求间隔较长的场景,HTTP 长连接适用于请求响应次数较多、请求间隔较短或需要推送数据的场景。根据具体的应...
点击查看剩余70%
网友评论0