Solved

HTTP 1.1 Protocol Compliance - RFC 2616

Posted on 2011-02-25
1
940 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
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

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Configure TMG 2010 as a transparent Proxy 9 784
cannot RDP off my Network 4 59
Display home - no ADSL or internet 3 106
Only allow one site in Internet Explorer on XenApp. 9 50
Introduction This warning has to be one of the most commonly issued warnings in the history of PHP.  The article explains why this warning arises and what to do to mitigate the problem. How this Happens HTTP headers include many different kinds…
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…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Migrating to Microsoft Office 365 is becoming increasingly popular for organizations both large and small. If you have made the leap to Microsoft’s cloud platform, you know that you will need to create a corporate email signature for your Office 365…

911 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

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now