[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

HTTP 1.1 Protocol Compliance - RFC 2616

Posted on 2011-02-25
1
Medium Priority
?
973 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 84

Accepted Solution

by:
Dave Baldwin earned 2000 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

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Introduction HyperText Transfer Protocol (http://www.ietf.org/rfc/rfc2616.txt) or "HTTP" is the underpinning of internet communication.  As a teacher of web development I have heard many questions, mostly from my younger students who have come to t…
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…
This course is ideal for IT System Administrators working with VMware vSphere and its associated products in their company infrastructure. This course teaches you how to install and maintain this virtualization technology to store data, prevent vuln…
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …
Suggested Courses

656 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