X-
prefixed headers are nonstandard headers that are often specific to the particular software in use.
The ECS (iad/19AB)
Server
header shows that the content is being served by the EdgeCast (now Verizon Digital Media Services) CDN from their IAD (Virginia) point of presence.
The ec
in x-ec-custom-error
very likely stands for EdgeCast, but the meaning of the header as a whole isn't publicly documented and is probably application-specific.
One theory though is that every possible HTTP status code on example.com
is being replaced with a custom error page, and that this header is an indicator of that. So regardless of whether the origin server returns a 200 OK
or 404 Not Found
, EdgeCast is configured to replace the page contents with a predefined response.
$ 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
(Also, the X-Cache: HIT
header tells you that the page was found in EdgeCast's cache and was served directly from them.)