在研究HTTP协议时,我在响应头字段中看到了这一点:
x-ec-custom-error: 1
我使用netcat通过代理连接获取example.com的主页。
以下是显示此标题的所有控制台通信:
$ nc -x (omitted proxy address):3128 -Xconnect www.example.com 80
GET http://www.example.com/ HTTP/1.1
Host: www.example.com
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=604800
Content-Type: text/html
Date: Fri, 07 Mar 2014 20:08:45 GMT
Etag: "359670651"
Expires: Fri, 14 Mar 2014 20:08:45 GMT
Last-Modified: Fri, 09 Aug 2013 23:54:35 GMT
Server: ECS (iad/19AB)
X-Cache: HIT
x-ec-custom-error: 1 <----------------HERE
Content-Length: 1270
(Omitted message body)
在注意到它之后,我尝试在谷歌和这个网站上搜索,但我没有找到任何答案,也没有与我讨论这个问题的人。
提前感谢所有答案。
答案 0 :(得分:1)
X-
前缀标头是非标准标头,通常特定于正在使用的特定软件。
ECS (iad/19AB)
Server
标题显示内容由EdgeCast(现为Verizon数字媒体服务)CDN从其IAD(弗吉尼亚州)存在点提供。
ec
中的x-ec-custom-error
很可能代表EdgeCast,但标题整体的含义并未公开记录,可能是特定于应用程序的。
但有一种理论认为,example.com
上的每个可能的HTTP状态代码都会被自定义错误页面替换,并且此标头是其中的一个指示符。因此,无论源服务器是返回200 OK
还是404 Not Found
,EdgeCast都配置为使用预定义的响应替换页面内容。
$ curl -i http://example.com/asdfsdfasf
HTTP/1.1 404 Not Found
Server: ECS (oxr/83C7)
X-Cache: HIT
x-ec-custom-error: 1
$ curl -i http://example.com/
HTTP/1.1 200 OK
Server: ECS (ftw/FBE4)
X-Cache: HIT
x-ec-custom-error: 1
(此外,X-Cache: HIT
标题告诉您该页面已在EdgeCast的缓存中找到,并直接从它们提供。)