web-services - Web 框架会在读取正文之前检查授权标头吗?
问题描述
我想知道 Flask、Django、Akka HTTP 或 Spring 等 Web 框架是否在读取请求正文之前检查标头。
我可以有一个用于上传一些文件的网络服务器端点,例如用户头像。据推测,我可以用大量文件但没有 Auth 标头来撞击服务器并减慢它的速度。
我认为服务器在将正文读入内存之前应该首先检查用户是否被授权/标头是否正常。Web 框架如何解决这个问题?我在哪里可以阅读更多它是如何处理的?
解决方案
Web 框架旨在灵活处理大量用例。这些用例之一是上传大文件。任何成熟的框架都会有一种机制来处理这个用例而不消耗大量内存,通常是通过将数据存储到磁盘。有些还公开了一种让应用程序处理程序直接访问原始字节流的方法。
底层框架首先阅读标题。他们通常会在解析标头后将请求交给应用程序处理程序。然后由应用程序处理授权。大多数框架都会公开一些访问字节原始数据流的方法,但更方便的方法是在应用程序第一次请求数据时读取数据并将其解析为便利结构。应用程序可能需要配置框架不这样做。通常,框架允许应用程序设置最大上传大小。超过该大小,客户端会收到错误消息。
每个框架的文档都可以提供有关上传的详细信息。以下是您指定的每个框架的上传文档:
推荐阅读
- excel - 更改参考
- python - 使用 selenium 在 Python 中使用安全令牌而不是密码
- sql-server - 在链接的 SQL Server 上运行 Oracle DB 函数时出错
- sql - 以开头的 PowerShell ISE 标识符太长
- c# - 当前上下文中不存在名称“HapticFeedback”-Xamarin.Forms
- node.js - 使用 Firebase Admin SDK 时选择实时数据库实例
- c# - 如何以编程方式更改 Entity Framework DB First 连接
- typescript - 如何通过删除属性将对象从接口A转换为接口B
- reactjs - Reack.JS 使用 useState 形成多输入
- java - java - 如何在java springboot中通过电子邮件发送HSSFWorkbook xls?