Re: [hybi] Ticket#1 Http Compliance

Maciej Stachowiak <mjs@apple.com> Thu, 13 May 2010 10:52 UTC

Return-Path: <mjs@apple.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 16B753A6C8F for <hybi@core3.amsl.com>; Thu, 13 May 2010 03:52:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.081
X-Spam-Level:
X-Spam-Status: No, score=-105.081 tagged_above=-999 required=5 tests=[AWL=0.030, BAYES_05=-1.11, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id z01fSEuYQvxd for <hybi@core3.amsl.com>; Thu, 13 May 2010 03:52:13 -0700 (PDT)
Received: from mail-out3.apple.com (mail-out3.apple.com [17.254.13.22]) by core3.amsl.com (Postfix) with ESMTP id 11F3E3A6C91 for <hybi@ietf.org>; Thu, 13 May 2010 03:44:12 -0700 (PDT)
Received: from relay15.apple.com (relay15.apple.com [17.128.113.54]) by mail-out3.apple.com (Postfix) with ESMTP id A28349279D70 for <hybi@ietf.org>; Thu, 13 May 2010 03:44:02 -0700 (PDT)
X-AuditID: 11807136-b7c2eae00000113b-50-4bebd7f23707
Received: from gertie.apple.com (gertie.apple.com [17.151.62.15]) by relay15.apple.com (Apple SCV relay) with SMTP id 77.7D.04411.2F7DBEB4; Thu, 13 May 2010 03:44:02 -0700 (PDT)
MIME-version: 1.0
Content-transfer-encoding: 7bit
Content-type: text/plain; charset="us-ascii"
Received: from [10.0.1.6] (c-69-181-42-237.hsd1.ca.comcast.net [69.181.42.237]) by gertie.apple.com (Sun Java(tm) System Messaging Server 6.3-7.04 (built Sep 26 2008; 32bit)) with ESMTPSA id <0L2C000DKTTENG50@gertie.apple.com> for hybi@ietf.org; Thu, 13 May 2010 03:44:02 -0700 (PDT)
From: Maciej Stachowiak <mjs@apple.com>
In-reply-to: <4BEBCC37.5070808@webtide.com>
Date: Thu, 13 May 2010 03:44:01 -0700
Message-id: <3276A7F4-0A3A-4099-8A35-860DD0B93032@apple.com>
References: <4BEAB021.5030600@webtide.com> <16A430F2-1458-404C-839B-7EEF23434026@apple.com> <4BEBBD7D.8090609@webtide.com> <16DD953D-55E8-4188-B979-0AA348878C73@apple.com> <4BEBCC37.5070808@webtide.com>
To: Greg Wilkins <gregw@webtide.com>
X-Mailer: Apple Mail (2.1078)
X-Brightmail-Tracker: AAAAAQAAAZE=
Cc: "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] Ticket#1 Http Compliance
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 May 2010 10:52:14 -0000

On May 13, 2010, at 2:53 AM, Greg Wilkins wrote:

> 
>> How is the implication of "compatible" different from what you 
>> describe for "compliant"? Can you give an example of something
>> that would be HTTP compatible, but not HTTP compliant?
> 
> telnet is HTTP compatible as I can telnet to a HTTP server
> and interoperate with it.
> 
> telnet is not HTTP compliant as I can telnet to a
> HTTP server and do all sorts of illegal stuff.

Can you give an example that's relevant to WebSocket? Is there anything in a current or previous draft that's HTTP compatible but not HTTP compliant? That would make it easier to assess the practical impact of this change. WebSocket protocol is not in a situation where you can choose to have syntactically correct HTTP interactions or not, like telnet. It's pretty specific in its requirements.

> If you don't agree that there is significant difference between the words, then what is the problem changing?

I'd like to understand what the difference is, so that I understand the consequences of the change. I don't care that much about the word choice, but since some people apparently do, I'd like to understand what practical difference it makes. If the answer is "no difference" then I would not object.

> 
>> Having two different handshakes would not be a good idea. 
> 
> I'm not advocating that.   I'm only advocating that when you
> operate on a shared HTTP port that you are required to be
> HTTP compliant until you are upgraded.
> 
>> Also,
>> he client initiates the handshake and can't tell if the port is
>> being shared with an HTTP server, so there's no opportunity to
>> initiate the handshake differently. Making the server reply differently
>> depending on whether it is standalone, when the client handshake has
>> to be the same, would just create interop problems.
> 
> I mostly agree.  But this is a reason to always be
> HTTP compliant.  I see no reason to ever pretend to be
> HTTP without actually being HTTP compliant.   The
> overheads of being HTTP compliant are nothing.


Can you give examples of things from the current draft that are not HTTP compliant? I assume the random characters after the request are one thing. Is there anything else?

Cheers,
Maciej