Re: [hybi] Ticket#1 Http Compliance

Roberto Peon <fenix@google.com> Wed, 12 May 2010 16:39 UTC

Return-Path: <fenix@google.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 684323A6CFD for <hybi@core3.amsl.com>; Wed, 12 May 2010 09:39:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.407
X-Spam-Level:
X-Spam-Status: No, score=-103.407 tagged_above=-999 required=5 tests=[AWL=-0.031, BAYES_50=0.001, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, 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 sekt-OhEGmPc for <hybi@core3.amsl.com>; Wed, 12 May 2010 09:39:43 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.44.51]) by core3.amsl.com (Postfix) with ESMTP id 9050528C16E for <hybi@ietf.org>; Wed, 12 May 2010 09:20:38 -0700 (PDT)
Received: from wpaz37.hot.corp.google.com (wpaz37.hot.corp.google.com [172.24.198.101]) by smtp-out.google.com with ESMTP id o4CGKPXW031966 for <hybi@ietf.org>; Wed, 12 May 2010 09:20:25 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1273681225; bh=oikO8k2gviPyEmHQ3ZrkJQoKDx8=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type; b=NQDB6K/+3OrYufiCWOKc7/yHVAP2rQ/BsY1cNp+09fExrqKaMN2hvOyknQTAiJGwf RltpMLdLnOXf43qHXYgRQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=b69Pl+iJ3Y9zMTLPUz2EjhvSAdvjPYqesms/Q8CwPwnMb2X3ddREt3Ey31MwA7NMI Z4YRAlEyGAw/9jstpAb4Q==
Received: from gyf3 (gyf3.prod.google.com [10.243.50.67]) by wpaz37.hot.corp.google.com with ESMTP id o4CGKFIa019757 for <hybi@ietf.org>; Wed, 12 May 2010 09:20:24 -0700
Received: by gyf3 with SMTP id 3so94306gyf.2 for <hybi@ietf.org>; Wed, 12 May 2010 09:20:24 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.150.170.15 with SMTP id s15mr13038797ybe.229.1273681223183; Wed, 12 May 2010 09:20:23 -0700 (PDT)
Received: by 10.150.184.18 with HTTP; Wed, 12 May 2010 09:20:22 -0700 (PDT)
In-Reply-To: <4BEAB021.5030600@webtide.com>
References: <4BEAB021.5030600@webtide.com>
Date: Wed, 12 May 2010 09:20:22 -0700
Message-ID: <p2oad99d8ce1005120920v943c9e6fy98618cc3ce8f76fa@mail.gmail.com>
From: Roberto Peon <fenix@google.com>
To: Greg Wilkins <gregw@webtide.com>
Content-Type: multipart/alternative; boundary="000e0cd573c4dd6eef04866804f5"
X-System-Of-Record: true
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: Wed, 12 May 2010 16:39:45 -0000

On Wed, May 12, 2010 at 6:41 AM, Greg Wilkins <gregw@webtide.com> wrote:

> All,
>
> Attached is a proposed diff (from me as individual - not as requirements
> editor)
> to the requirements document for HTTP Compliance.
>
> Formatted as text the patch results in:
>
>
>   REQ. 7:  When sharing host and "well known" port with HTTP, the
>      WebSocket protocol MUST be HTTP/1.1 compliant until both ends have
>      established the WebSocket protocol.  The protocol may prohibit the
>      usage of specific HTTP features.
>

On the handshake? Which features, specifically? I'm asking because the two
sentences here come in fundamental conflict.. It is HTTP/1.1, but not
really.
I'd expect something like:

On a connection established with the expectation that the primary or first
protocol spoken is not WebSocket, the connection shall be considered that
protocol and not WebSocket until a successful UPGRADE or similar
change-of-protocol request is acknowledged. In the case of HTTP,
WebSocket-only server implementations are required to implement the
following subset of rfc2616, but are not required to implement any more than
that.


I apologize for the fast-and-loose verbiage here, but I hope I'm conveying
my intent properly!
-=R


>
>   Reason: when operating on the standard HTTP ports, existing web
>   infrastructure may handle connections and requests according to
>   existing standards prior to the establishment of the new protocol.
>   It may also be desirable for consenting clients and servers to use
>   HTTP features such as authentication and redirection, prior to
>   establishing the websocket handshake.
>
>   However, this requirement does not mean that a websocket
>   implementation that is not for general-purpose HTTP, need implement
>   any more of the HTTP protocol than is required to establish a
>   websocket connection.  The minimal requirements of HTTP are small, as
>   indicated by the following extracts of RFC-2616:
>
>   RFC-2616 5.1.1  The methods GET and HEAD MUST be supported by all
>      general-purpose servers.  All other methods are OPTIONAL
>   RFC-2616 6.1.1  HTTP applications are not required to understand the
>      meaning of all registered status codes, though such understanding
>      is obviously desirable.  However, applications MUST understand the
>      class of any status code, as indicated by the first digit, and
>      treat any unrecognized response as being equivalent to the x00
>      status code of that class
>   RFC-2616 7.1  Unrecognized header fields SHOULD be ignored by the
>      recipient and MUST be forwarded by transparent proxies.
>
>
> My intent with this wording is to not require any more of HTTP
> to be implemented my minimal implementations, hence the extracts
> from RFC2616 showing that there are few MUSTs in HTTP.
>
> This will allow arbitrary HTTP features to be used if
> client and server desire to do so - which seams reasonable
> as in many cases the client and server are going to have
> full HTTP implementations available.
>
> However, it does allow the protocol to specifically prohibit
> the use of features, if for example we decided that redirect
> was a undesirable for some reason.


>
> regards
>
>
>
> _______________________________________________
> hybi mailing list
> hybi@ietf.org
> https://www.ietf.org/mailman/listinfo/hybi
>
>