[
https://issues.apache.org/jira/browse/TS-1125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14583039#comment-14583039
]
ASF GitHub Bot commented on TS-1125:
------------------------------------
Github user ffcai commented on the pull request:
https://github.com/apache/trafficserver/pull/216#issuecomment-111380014
@sudheerv , as discussed some earlier, in transaction interception case,
ATS would not have chance to handle the *"Expect: 100-continue"* header. Our
sherpa plugin intercepts in the *TS_HTTP_READ_REQUEST_HDR_HOOK* point, whereas
ATS handles "Expect" header in *HttpSM::state_send_server_request_header* call
(old patch), which would not have chance to execute in interception case.
*HttpTransact::HandleRequest* is called after *RemapRequest*, which is a
later point of *TS_HTTP_READ_REQUEST_HDR_HOOK*. I think here we have to send
the 100 continue response in *HttpSM::state_read_client_request_header*.
https://trafficserver.readthedocs.org/en/latest/sdk/http-hooks-and-transactions.en.html#http-txn-state-diagram
> POST's with Expect: 100-continue are slowed by delayed 100 response.
> --------------------------------------------------------------------
>
> Key: TS-1125
> URL: https://issues.apache.org/jira/browse/TS-1125
> Project: Traffic Server
> Issue Type: Bug
> Components: HTTP
> Affects Versions: 3.0.2
> Environment: TS 3.0.2 going to Apache 2.2 web server
> Reporter: William Bardwell
> Assignee: Bryan Call
> Priority: Minor
> Labels: yahoo
> Fix For: 5.0.0
>
> Attachments: TS-1125.diff, TS-1125.diff, ts1125.diff, ts1125.diff,
> ts1125.diff
>
>
> Sending a post like:
> POST / HTTP/1.1
> Host: www.example.com
> Content-Length: 10
> Expect: 100-continue
> directly to the web server immediately sends back:
> HTTP/1.1 100 Continue
> And then when the post data is sent, a status 200 response comes back.
> But when going through ATS the "HTTP/1.1 100 Continue" is not sent
> immediately, and instead is sent after the POST data has been received. This
> is legal, but it makes clients that are hoping for a 100 continue to wait a
> little while hoping to get that, ATS should forward that response through
> immediately.
> Note: I see curl using "Expect: 100-continue" with > 1024 bytes of post data,
> but web searching indicates that some Microsoft products also use it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)