- From: Mike Cowlishaw <mfc@vnet.ibm.com>
- Date: Fri, 2 Dec 94 10:50:27 GMT
- To: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
Roy Fielding writes:
>>> It goes something like this:
>>>
>>> a) If message includes Content-Length, use it.
>>>
>>> b) If message uses an as-yet-undefined packetized Content-Transfer-Encodin
>>> then that encoding may define an EOF marker.
>>>
>>> c) If message uses an as-yet-undefined packetized Content-Encoding,
>>> then that encoding may define an EOF marker.
>>>
>>> d) If message is of type multipart/*, the effective object body ends
>>> when the boundary close-delimiter is reached.
>>>
>>> e) If the connection closes, the object body has ended.
>>>
>>> Part (b) is along the lines of Dan Connolly's www-talk proposal of
>>> 27 Sep 1994 (Message-Id: <9409271503.AA27488@austin2.hal.com>).
>>
>> I'm happy with the situation for responses (connection closes is quite
>> good enough), but still very unhappy with this definition for the data
>> (object body) for requests (PUT and POST). The steps you just
>> outlined are not defined sufficiently well to be implementable (and
>> requiring every server to implement the rather gawky multi-part stuff
>> just in case data comes in that way seems unnecessary). Is not
>> Content-Length essentially always present, in current practice, for
>> PUT and POST? In which case, why require more that this, or
>> alternatives, unless truly necessary?
>
>The intention is to move away from "connection closes is quite good enough"
>so that future versions of HTTP can support a connection keep-alive.
>Multipart types have always been possible to implement -- its just that
>server and client authors have neglected (in the past) to read the MIME
>spec and thus understand that these things exist and how they are implemented.
>Including these descriptions in the spec is a way to prod people into
>implementing something that should have been supported long ago.
>
>Whether they stay in the spec, get moved to an appendix, or get shoved
>off to HTTP/1.1 is a question for the group to decide.
Thanks for the response .. and I applaud the intent to move away from
'connection closes is enough' in the future.
However, you really haven't answered my questions for today that would
enable me to implement a server from the HTTP 1.0 specification. In
particular, what is a conforming HTTP 1.0 server required to implement
in order to read the object data for PUT and POST? Specifically:
(a) Content-Length: in bytes [I assume this one is required]
(b) Packetized C-T-E: might well be useful, but only if the CTEs are
defined. Do I have to support PC-DOS ZIP? Do I have to support
Unix GZIP? If not defined and required, then clients cannot use
them, and hence they are not useful. [Also, one would need a
statement about how (a) and (b) interact.]
(c) C-E: Ditto -- only plain Binary is even suggested, at present, so
there isn't anything to implement, I think?
(d) Multipart: Is this current practice? If not, I trust that it's
not required in 1.0.
(e) Closed connection: [Doesn't apply for Requests.]
>From the above, my inference is that an HTTP 1.0 server need only
implement (a). Any more would be wasteful processing. Am I correct?
Thanks -- Mike
Received on Friday, 2 December 1994 04:02:43 UTC