gpt4 book ai didi

python - 为什么 aiohttp 需要 await 才能获取 body?

转载 作者:行者123 更新时间:2023-12-01 21:46:57 26 4
gpt4 key购买 nike

我发现aiohttp 服务器应该使用await 关键字来获取请求主体

async def handler(request):
body = await request.json(). # or text(), read()

我认为当 handler 被调用时,请求主体已经在服务器端内存中,我认为这不是 I/O 密集型工作,需要异步操作。

有什么遗漏的地方吗?

最佳答案

对于非常大的请求消息正文,您可能在调用 handler 时没有收到完整的正文。 HTTP1/1 声明服务器可能会在请求结束之前做出响应(来自 RFC 2616):

An HTTP/1.1 (or later) client sending a message-body SHOULD monitor the network connection for an error status while it is transmitting the request. If the client sees an error status, it SHOULD immediately cease transmitting the body.

例如,如果您不接受请求(例如,401 Unauthorized,如果 token 无效),您可以在收到整个请求消息正文之前立即回复 4xx 客户端错误代码。

关于python - 为什么 aiohttp 需要 await 才能获取 body?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60323120/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com