You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2020/12/20 08:50:00 UTC

[jira] [Commented] (DISPATCH-1788) HTTP1.x adaptor fails to honor HTTP/1.0 connection semantics

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

ASF subversion and git services commented on DISPATCH-1788:
-----------------------------------------------------------

Commit afaf5f4305ba348ffab20172a5923852bb215c2c in qpid-dispatch's branch refs/heads/dev-protocol-adaptors from Ken Giusti
[ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=afaf5f4 ]

DISPATCH-1788: fixes and testcases for HTTP/1.0 support

This closes #859


> HTTP1.x adaptor fails to honor HTTP/1.0 connection semantics
> ------------------------------------------------------------
>
>                 Key: DISPATCH-1788
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1788
>             Project: Qpid Dispatch
>          Issue Type: Bug
>          Components: Protocol Adaptors
>    Affects Versions: 1.15.0
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Major
>              Labels: HTTP/1.x
>             Fix For: 1.15.0
>
>
> The HTTP/1.x codec does not handle HTTP/1.0 connection lifecycle correctly.  There is a race when the HTTP/1.0 server sends a response with a valid content-length to a router that has queued multiple outstanding request messages.   The adaptor does not wait for the connection to close after the response is received and begins to send the next pending request as the server is closing the connection.
>  
> From RFC7230, Persistence:
>  
> {quote}A recipient determines whether a connection is persistent or not based on the most recently received message’s protocol version and Connection header field (if any):
> o If the "close" connection option is present, the connection will not persist after the current response; else,
> o If the received protocol is HTTP/1.1 (or later), the connection will persist after the current response; else,
> o If the received protocol is HTTP/1.0, the "keep-alive" connection option is present, the recipient is not a proxy, and the recipient wishes to honor the HTTP/1.0 "keep-alive" mechanism, the connection will persist after the current response; otherwise,
> o The connection will close after the current response. A client MAY send additional requests on a persistent connection until it sends or receives a "close" connection option or receives an HTTP/1.0 response without a "keep-alive" connection option.
> {quote}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org