记录 HTTP 压缩引起的 Node 请求乱码的问题
HTTP 压缩的定义
Web 服务器和浏览器之间压缩传输的”文本内容“的方法。
HTTP 压缩的过程(以 gzip 为例)
- 浏览器发送:发送请求,请求头携带
Accept-Encoding: gzip
- 服务器接收:接收请求,生成原始 Response,包含 Content-Type 和 Content-Length
- 服务器压缩:使用 gzip 压缩 Response,编码后 header 中的 Content-Length 为压缩后的大小
- 服务器发送:发送请求,其中携带
Content-Encoding: gzip
- 浏览器接收:接收 Response
- 浏览器解码:根据
Content-Encoding
来对 Response 解码,获取原始的 Response
Node 请求乱码问题记录
背景
之前在接入 StackOverflow 检索的 api(