何时应该响应网站上的HTTP HEAD请求?

7
我的 Google App Engine 网站因为没有接受 HEAD 请求而在主 URL 上遇到错误。根据 this,HEAD 请求是用于"测试超文本链接的有效性、可访问性和最近修改"
对 HEAD 请求的“正常”响应应该是什么?
我开始接受 HEAD 请求,以防止错误出现在我的日志中,但只针对主 URL。
有人能指点我方向吗?
1个回答

7
实现你的head方法与get方法类似,只需跳过写入正文的步骤。对于每个可以链接到的URL,您都应该这样做,因为一个行为良好的验证链接的检查器在不需要正文时应该使用HEAD。

最简单的方法通常是将get功能分解为一个单独的辅助方法_foo,该方法接受一个布尔值needbody参数--get调用self._foo(True)head调用self._foo(False)_foo如果看到它的needbody参数为false,可以在生成所有标头后立即退出(并且必须确保它不会生成正文)。

5
另一种选项是在Web应用程序中定义一个基类,通过调用self.get实现head,然后擦除body。 当然,这是低效的,但可以让你更有效地按情况逐个覆盖它。 - Nick Johnson
@Nick,清除主体的最佳方法是什么? - Bryce Cutt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接