"x-ec-custom-error: 1" Что это значит?
При изучении протокола 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)
Заметив это, я попытался выполнить тщательный поиск в Google и на этом сайте, но нигде не нашел ответа, равно как и люди, которые обсуждали это со мной.
Заранее спасибо за все ответы.
1 ответ
X-
Заголовки с префиксом - это нестандартные заголовки, которые часто специфичны для конкретного используемого программного обеспечения.
ECS (iad/19AB)
Server
заголовок показывает, что контент обслуживается CDN EdgeCast (в настоящее время Verizon Digital Media Services) из точки их присутствия IAD (Вирджиния).
ec
в x-ec-custom-error
Скорее всего, это EdgeCast, но значение заголовка в целом публично не задокументировано и, вероятно, зависит от конкретного приложения.
Одна теория, однако, заключается в том, что каждый возможный код состояния HTTP на example.com
заменяется пользовательской страницей ошибок, и этот заголовок является индикатором этого. Таким образом, независимо от того, возвращает ли исходный сервер 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 и обслуживалась непосредственно из них.)