我想在django中获得http数据响应到浏览器的大小。怎么做呢?
我想要的目标是gzip响应和非gzip响应的区别。
您可以访问"Content-Length">MDN:在响应的头中查看数据的大小(参见MDN): https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length)
然而,在Django中,这个Content-Length头似乎是在CommonMiddleware中设置的,因此Content-Length头只能在响应通过这个middleware之后才能访问。这里有两个解决方案;
- 编写自定义中间件,在响应通过通用中间件后获取内容长度
- 用渲染器Hack一些东西来获得内容的len。
- 获取客户端内容长度
Some Reference;
- 类似的问题:我如何得到一个Django响应对象的内容长度?
- CommonMiddleware: https://github.com/django/django/blob/main/django/middleware/common.py#L113