You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2015/06/10 09:20:00 UTC

[jira] [Commented] (TS-1125) POST's with Expect: 100-continue are slowed by delayed 100 response.

    [ https://issues.apache.org/jira/browse/TS-1125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14580152#comment-14580152 ] 

ASF GitHub Bot commented on TS-1125:
------------------------------------

GitHub user ffcai opened a pull request:

    https://github.com/apache/trafficserver/pull/216

    TS-1125: handle "Expect: 100-continue" header in state_read_client_request_header

    Currently, ATS handles `"Expect: 100-continue"` header in `HttpSM::state_send_server_request_header`. In intercept plugin case, ATS may have no chance to run into this logic, it handles the header in a later point - `HttpSM::state_send_server_request_header`. I did not take this into account when I wrote the first patch. Now we have an intercept plugin use case in yahoo, and I think we need to move the handle logic some earlier, right after finish parsing the client request header.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/ffcai/trafficserver expect_100_continue

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/trafficserver/pull/216.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #216
    
----
commit 34d6a4203d7399aa85daeeb88abafe5ee85f21b5
Author: Feifei Cai <ff...@yahoo-inc.com>
Date:   2015-06-10T07:06:24Z

    handle Expect: 100-continue header in state_read_client_request_header

----


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