[发明专利]一种处理HTTP请求的方法和装置在审
申请号: | 201810455964.3 | 申请日: | 2018-05-14 |
公开(公告)号: | CN110493291A | 公开(公告)日: | 2019-11-22 |
发明(设计)人: | 吴露寒;闻玉峰;张翔 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 11219 中原信达知识产权代理有限责任公司 | 代理人: | 张一军;李阳<国际申请>=<国际公布>= |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 查找 客户端 线程 缓存 计算机技术领域 方法和装置 快速查询 首次发送 资源返回 返回 响应 超时 发送 进度 客户 进程 | ||
本发明公开了一种处理HTTP请求的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:通过当前线程判断客户端发送的获取资源的请求是否为首次发送;如果是,开启查找线程,所述查找线程根据所述请求查找资源,并将查找到的资源进行缓存;否则,所述当前线程根据所述请求在缓存中查找资源;以及,通过所述当前线程定时将所述查找线程的查找进程返回至所述客户端,直至当前线程根据所述请求在缓存中查找到资源。本发明实施例能够及时向客户端返回查找资源进度的响应,避免客户端接收到超时响应,查找资源的线程得到资源后,将资源放到能够快速查询到的地方,使得接收到客户端的下次请求时就快速将资源返回至客户端。
技术领域
本发明涉及计算机技术领域,尤其涉及一种处理HTTP请求的方法和装置。
背景技术
对于客户端向服务器发送的HTTP请求,经常会出现超时的问题。如果服务器查询客户端请求的资源缓慢的话,则可能无法在设置的请求超时时间内将资源返回至客户端,进而会导致响应超时的问题。如果客户端接收到响应超时的错误,则客户端不再向服务器发送获取该资源的请求,即使后续服务器可以查询到该资源,客户端也无法获取该资源,尤其是在使用代理服务器分发网络请求时,其中代理服务器指用来分发请求,做负载均衡的服务器,例如Nginx。如图1所示,客户端C需要服务器B上的某一资源,会先将请求发送至代理服务器A,代理服务器A将客户端C的请求分发至服务器B,服务器B处理这个请求。服务器B将客户端C所需的资源返回至代理服务器A,代理服务器A将服务器B返回的资源返回至客户端C,则客户端C获得资源。这个请求模式存在一个请求超时问题:如果服务器B查询客户端C所需的资源缓慢,无法在代理服务器A设置的请求超时时间内返回资源,代理服务器A的请求会超时,此时代理服务器A返回504Gateway Timeout错误至客户端C,客户端C无法获得所需的资源。504Gateway Timeout错误为网关超时错误,服务器作为网关或代理,但是没有及时从上游服务器收到响应。
针对上述问题,现有技术方案为:增大代理服务器的HTTP请求超时参数,使处理请求的服务器能在超时参数时间内返回资源给代理服务器,代理服务器将资源传给客户端,客户端可以获得所需资源。但是,该现有技术在实施过程中,存在以下问题:当代理服务器不是自己的服务器,则没有权限修改代理服务器的HTTP请求超时参数;更改代理服务器的HTTP请求超时参数后,代理服务器分发的所有请求的超时时间都会被更改成更改后的超时参数,影响范围比较大。
发明内容
有鉴于此,本发明实施例提供一种处理HTTP请求的方法和装置,能够及时向客户端返回查找资源进度的响应,避免客户端接收到超时响应,查找资源的线程得到资源后,将资源放到能够快速查询到的地方,使得接收到客户端的下次请求时就快速将资源返回至客户端。
为实现上述目的,根据本发明实施例的一个方面,提供了一种的处理HTTP请求方法。
本发明实施例的处理HTTP请求的方法包括:通过当前线程判断客户端发送的获取资源的请求是否为首次发送;如果是,开启查找线程,所述查找线程根据所述请求查找资源,并将查找到的资源进行缓存;否则,所述当前线程根据所述请求在缓存中查找资源;以及,通过所述当前线程定时将所述查找线程的查找进程返回至所述客户端,直至当前线程根据所述请求在缓存中查找到资源。
可选地,在所述当前线程根据所述请求在缓存中查找资源之后,还包括:通过所述当前线程确定在缓存中查找到所述资源,并生成包含所述资源的响应;通过所述当前线程将所述响应添加预设参数,并将添加预设参数的响应返回至所述客户端。
可选地,将查找到的资源进行缓存的步骤包括:根据所述请求生成存储标识;根据所述存储标识对查找到的资源进行标识并缓存;所述当前线程根据所述请求在缓存中查找资源的步骤包括:根据所述请求获取存储标识,根据所述存储标识在缓存中查找资源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810455964.3/2.html,转载请声明来源钻瓜专利网。