Solved

HTTP 1.1 Protocol Compliance - RFC 2616

Posted on 2011-02-25
1
951 Views
Last Modified: 2012-05-11
I am connecting to an web server via an F5.  The F5 has HTTP protocol enforcement enabled and I am encountering a strange problem.

However, the CRUX of my question is:

Can a Web Server send more than one "HTTP/1.1 100 Continue" response codes to a client is the following scenario:

1.  Client Connects to Web Server
2.  Client SENDS POST HEADER
  
    POST /site/service HTTP/1.1
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.3615)
    Authorization: Basic b52gstehdy7637=
    Content-Type: text/xml; charset=utf-8
    SOAPAction: "helloMessage"
    Host: akl34svr.internal
    Content-Length: 1008
    Expect: 100-continue

Open in new window

3.  Server Sends:
HTTP/1.1 100 Continue

Open in new window

4.  Server Sends:
HTTP/1.1 100 Continue

Open in new window

5.  Client Sends "POST REQUEST"
6.  Server Sends:
HTTP/1.1 200 OK

Open in new window

7.  Server Sends: "Response Header"
8.  Server Sends: "Response Body"
9.  Connection Closes

(With the exception of 1 and 9 - every numbered entry reflects a unique TCP packet on the wire)

For some reason this server is ALWAYS sending two HTTP/1.1 100 Continue responses immediately after it receives the POST Header.  I have tried some other servers and they only send one "HTTP/1.1 100 Continue".  So I want to know if this is RFC Compliant.

Additionally I have also tried not waiting for the "HTTP/1.1 100 Continue" and just sending my "POST REQUEST" immediately.  This results in the duplicate "HTTP/1.1 100 Continue"s arriving between packet 5 and packet 6.

As reference (and this is not the question) the F5 barfs when the "HTTP/1.1 100 Continue" packets arrive within 1ms of each other.  If they arrive within > ~200ms the F5 just accepts the traffic.  It is only when they are arriving within 1ms of each other that the F5 drops the connection.  The reason they can sometimes arrive within 1ms is because of Nagles Algorithm queuing the two outbound packets and suddenly sending them in a burst.

So just to recap the question is:

Is it RFC compliant for the server to send multiple "HTTP/1.1 100 Continue" response codes?

Thanks.

-Rowan
0
Comment
Question by:rowansmith
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 83

Accepted Solution

by:
Dave Baldwin earned 500 total points
ID: 34984902
Here you go: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html  The answer is: "A client MUST be prepared to accept one or more 1xx status responses prior to a regular response"
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
format script output 14 107
Connect to Node.js Express from iPad 1 208
current chart of the different internet connection speeds by type 2 57
eigrp routing loop 5 95
Introduction and Prerequisites This article describes methods for detecting whether a client browser accepts and returns HTTP cookies and whether the client browser runs JavaScript.  Most client browsers will, by default, be configured to use cooki…
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
Finding and deleting duplicate (picture) files can be a time consuming task. My wife and I, our three kids and their families all share one dilemma: Managing our pictures. Between desktops, laptops, phones, tablets, and cameras; over the last decade…

732 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question