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

Reply via email to