首页 > 解决方案 > Web 框架会在读取正文之前检查授权标头吗?

问题描述

我想知道 Flask、Django、Akka HTTP 或 Spring 等 Web 框架是否在读取请求正文之前检查标头。

我可以有一个用于上传一些文件的网络服务器端点,例如用户头像。据推测,我可以用大量文件但没有 Auth 标头来撞击服务器并减慢它的速度。

我认为服务器在将正文读入内存之前应该首先检查用户是否被授权/标头是否正常。Web 框架如何解决这个问题?我在哪里可以阅读更多它是如何处理的?

标签: web-serviceshttpframeworkshttp-headersweb-frameworks

解决方案


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

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

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


推荐阅读