我正在向回显服务器( echo.free.beeceptor.com )发送一个curl请求,即使我没有在请求中包含accept-encoding标头,回显服务器显示它收到了标头。
% curl -v https://echo.free.beeceptor.com
* Trying 147.182.252.2:443...
* Connected to echo.free.beeceptor.com (147.182.252.2) port 443
* ALPN: curl offers h2,http/1.1
....
< HTTP/2 200
< access-control-allow-origin: *
< alt-svc: h3=":443"; ma=2592000
< content-type: application/json
< date: Tue, 02 Jul 2024 06:27:02 GMT
< server: Caddy
< vary: Accept-Encoding
<
{
"method": "GET",
"protocol": "https",
"host": "echo.free.beeceptor.com",
"path": "/",
"ip": "115.110.154.68:62921",
"headers": {
"Host": "echo.free.beeceptor.com",
"User-Agent": "curl/8.4.0",
"Accept": "*/*",
**"Accept-Encoding": "gzip"**
},
"parsedQueryParams": {}
curl 是否在内部添加此标头?我认为邮差上没有看到同样的行为。什么逻辑可以解释这个?
尝试在https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding中查找Accept-encoding,但它也没有对这种行为产生任何启发。
您只是使用了有缺陷的在线服务,显示了错误的数据。
自己证明一下:
tcp port 80
curl -v http://echo.free.beeceptor.com
GET / HTTP/1.1
Host: echo.free.beeceptor.com
User-Agent: curl/8.7.1
Accept: */*