[ 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)