kin*_*ple 8 webserver curl http response request
是否有可以通过HTTP请求发送的标头告诉Web服务器仅向您发送响应中的标头而没有正文内容?
我正在使用cURL来发出这样的请求,但从技术上讲,我认为应该可以将简单的头部作为请求的一部分发送.
例如,存在304 Not Modified HTTP Response Code.当您使用缓存标记或日期时间信息向服务器发出请求时,服务器可以检测到该请求,并仅返回标头作为响应,告知用户代理将其缓存用作响应.这意味着在带宽方面,服务器的响应非常非常小.
但是,是否有可以发送到服务器的标头,使服务器只返回标题而没有正文内容?
这里的想法是制作HTTP请求,否则可能返回大量数据,非常小.例如,可以返回JSON数据或日志的API调用,实际上用户代理唯一感兴趣的是确保请求通过而没有其他任何内容.这是为了在主体可能存在的情况下最小化进出服务器的带宽,但是在用户代理正在做什么的上下文中是不必要的.
虽然可以设计一个监听特定自定义标题或其他东西的API,但除非必须,否则我宁愿不这样做.但我一直无法找到是否有一种标准化的方式来发出HTTP请求,告诉服务器不发送任何正文内容?
您正在寻找动词HEAD。如果您将 CURL 与 PHP 结合使用,则可以使用以下方法:
curl_setopt( $c, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $c, CURLOPT_CUSTOMREQUEST, 'HEAD' );
curl_setopt( $c, CURLOPT_HEADER, 1 );
curl_setopt( $c, CURLOPT_NOBODY, true );
如果您使用的是 PHP(并且在不同的情况下也可能很重要),脚本将继续运行,直到发送任何输出(下面的注释REQUEST_METHOD)。因此,如果您担心服务器压力,您可能需要其他合适的东西。
对我来说,您似乎更多地在寻找“ping”,所以为什么不简单地请求一个不执行任何操作但返回某种 OK 的文件,甚至可能只是 HTTP 200 OK(即一个空文件)?
| 归档时间: | 
 | 
| 查看次数: | 7649 次 | 
| 最近记录: |