Github user sudheerv commented on the pull request:
https://github.com/apache/trafficserver/pull/271#issuecomment-128454326
I've a small concern/question on the patch.
the RFC for HEAD method says:
"The server SHOULD send the same header fields in response to a HEAD
request as it would have sent if the request had been a GET, except that the
payload header fields (Section 3.3) MAY be omitted."
https://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-26#section-4.3.2
So, it does seem like we are not necessarily breaking the spec if we are
omitting the Content-Length or Transfer-Encoding headers (part of the payload
headers in
https://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-26#section-3.3).
Ideally, the Origin server should not have sent the chunked-encoding for a HEAD
method, but, since the rfc indicates it's optional, unfortunately, we have no
choice but to handle both the presence and absence of those headers in the
server response.
Looking at the patch, I'm not sure to understand whether the headers are
actually being dropped in the client response - Is it possible to validate the
behavior (i.e whether we are dropping the headers or not) after the patch?
At the very least, this helps us to understand/agree on (and perhaps even
document) our behavior. I also wonder if this may also be a slight
compatibility issue, if some clients have been relying on receiving payload
headers (especially, Content-Length) from ATS, so, would have to be done in
6.0. The best case scenario would be if we are not actually dropping the
headers in the response and just correctly terminating the transaction.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---