在阅读正文之前,Web框架会检查授权标头吗?

时间:2020-06-02 11:25:40

标签: web-services http frameworks http-headers web-frameworks

我想知道Flask,Django,Akka HTTP或Spring之类的Web框架在读取请求主体之前是否检查标头。

我可以有一个用于上传某些文件的Web服务器端点,例如,用户头像。 大概,我可以用巨大的文件但没有Auth标头将服务器撞坏,并降低速度。

我认为服务器应该先检查用户是否已获得授权/标头是否正确,然后再将正文读入内存。 Web框架如何解决此问题?在哪里可以阅读更多内容?

1 个答案:

答案 0 :(得分:3)

Web框架旨在灵活地处理大量用例。这些用例之一是上传大文件。任何成熟的框架都将具有一种在不消耗大量内存的情况下处理此用例的机制,通常是通过将数据存储到磁盘来实现。有些还公开了一种方法,供应用程序处理程序直接访问原始字节流。

在引擎盖框架下,首先读取标头。他们通常在解析标头后将请求交给应用程序处理程序。然后由应用处理授权。大多数框架将公开一些访问字节的原始数据流的方法,但是更方便的方法是在应用程序首次请求数据时将数据读取并解析为方便结构。应用程序可能需要配置框架才能做到这一点。通常,框架允许应用程序设置最大上传大小。超过该大小,客户端会收到错误消息。

每个框架的文档都可以提供有关上传的详细信息。这是您指定的每个框架的上载文档: