您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
swoole携程风格http服务器带来的问题chrome浏览器重复请求
发布时间:2022-06-09 21:09:36编辑:雪饮阅读()
在上文http://www.gaojiupan.cn/manshenghuo/chengxurensheng/4910.html
中实现了携程风格,远程html内容的获取。
昨天有个需求是对方是接口,然后拉取过来后要在咱们的数据库进行入库。
然后就继续采用该套方案。
但是发现我们批量请求的接口数是40个。一个请求,这里暂时称为一个接口,这里的业务也是暂时一个接口的数据作为我们入库的一条数据。
但实际情况则是发现数据库中在本脚本于浏览器中一次访问后数据库中却出现了80条数据,同事怀疑是pop出现重复取的问题,因为排查发现push确实只push了40条。
但经过我深入调查发现实际上是因为chrome浏览器会默认发出icon的一个额外的请求。
导致该http服务被请求两次。
那么解决方案如:
$uri = $req->server['request_uri'];
if ($uri == '/favicon.ico') {
$res->status(404);
$res->end();
}
if ($uri == '/favicon.ico') {
$res->status(404);
$res->end();
}
该代码放置于on request体中最前面,可能还需要在这里的end执行完后再来个return。
具体我忘记了最后有没有加,加了的可能性更高。
关键字词:swoole,chrome,重复,http
相关文章
- swoole系列-在携程风格http服务器中实现异步"file_ge
- 基于GuzzleHttp(thinkphp5实现原生获取獲取微信公衆平
- workerman-websocket协议-websocket协议握手(get,serv
- http反向代理環境下获取真实ip(基於workerman)
- https在反向代理環境下获取真实ip(基於workerman實現)
- workerman作爲客戶端系列之http代理搭建
- workerman創建https服務(普通請求轉https請求,基於寶塔
- workerman創建https服務
- workerman異步http組件-http-client
- workerman異步http組件-http-client