def clean_headers(status):
    """Remove any headers which should not apply to an error response."""
    response = cherrypy.serving.response

    # Remove headers which applied to the original content,
    # but do not apply to the error page.
    respheaders = response.headers
    for key in [
        'Accept-Ranges',
        'Age',
        'ETag',
        'Location',
        'Retry-After',
        'Vary',
        'Content-Encoding',
        'Content-Length',
        'Expires',
        'Content-Location',
        'Content-MD5',
        'Last-Modified',
    ]:
        if key in respheaders:
            del respheaders[key]

    if status != 416:
        # A server sending a response with status code 416 (Requested
        # range not satisfiable) SHOULD include a Content-Range field
        # with a byte-range-resp-spec of "*". The instance-length
        # specifies the current length of the selected resource.
        # A response with status code 206 (Partial Content) MUST NOT
        # include a Content-Range field with a byte-range- resp-spec of "*".
        if 'Content-Range' in respheaders:
            del respheaders['Content-Range']
Remove any headers which should not apply to an error response.
cherrypy/_cperror.py