[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
HTTP todo projects
-----BEGIN PGP SIGNED MESSAGE-----
Hi,
I have finaly got my selfe to sit down and make up a list of projects that
is needed to get the http implementation ready. Here they are:
Project name : Character Set Filters
Description : A set of filters that can convert data between
diffrent character sets.
Category : Network/HTTP
Contact : Hakan Ardo <hakan@debian.org>
Entry Date : Fri Jun 20 1997
Priority : 3
Comments :
Project name : Content-Encoding filters
Description : A set of filters that can decode the data based on
the Content-Encoding headder field. The HTTP/1.1 RFC
specifies two: gzip and compress.
Category : Network/HTTP
Contact : Hakan Ardo <hakan@debian.or>
Entry Date : Fri Jun 20 1997
Priority : 2
Comments :
Project name : Transfer-Enoding filters
Description : A set of filters that can decode the data based on
the Transfer-Encoding headder field. The HTTP/1.1 RFC
defines one: chunked. There is a preliminary
implementation of it in filtermanager/chunked.cc, that
needs to be either thurily tested or maby even
rewritten
Category : Network/HTTP
Contact : Hakan Ardo <hakan@debian.org>
Entry Date : Fri Jun 20 1997
Priority : 2
Comments :
Project name : User Configurable HTTP Requests
Description : Most of the headers in the request contains data that
the user is suposed to specify in the configuration of
mnemonic. All of those headders are optionall and the
user should ba able to enable/disable them all. The
headders I am talking about is:
Accept
Accept-Charset (A list of availible charset filters
should be used as default)
Accept-Encoding (Same as above)
Accept-Language
From
Max-Forwards (Should be disabled as default)
Category : Network/HTTP
Contact : Hakan Ardo <hakan@debian.org>
Entry Date : Fri Jun 20 1997
Priority : 2
Comments :
Project name : HTTP Conditionally Downloads
Description : To optimize the caching procedure we need to use the
featurs of the http that allow us to download half a
file, or setting up a condition whatever we want the
file or not, and let the server decide if we need it.
The headder field used to to that is:
Cache-Control
ETag
Expires (Don't know if this can be of any use here)
If-Modified-Since
If-Match
If-None-Match
If-Range
If-Unmodified-Since (Now this one seems like a realy
unusable feature :)
Range
Vary
Category : Network/HTTP
Contact : Hakan Ardo <hakan@debian.org>
Entry Date : Fri Jun 20 1997
Priority : 3
Comments :
Project name : HTTP Access Authentication
Description : The client might be asked to authenticate itselfe to
get access to a server or a cache. The HTTP/1.1
specifes one way of doing that: "basic", and refers to
another definition (in RFC 2069): "digest". For this
the following headderfields are neede:
Authorization
WWW-Authenticate
Proxy-Authenticate
Proxy-Authorization
Category : Network/HTTP
Contact : Hakan Ardo <hakan@debian.org>
Entry Date : Fri Jun 20 1997
Priority : 2
Comments :
Project name : HTTP Hooks
Description : We need a method for the filters to hook themselfe to
specifik headders, and to make sure that they are
placed in the stream in the right order. Preferable a
filter should be able to hook itselfe to any headder,
but at least the following is important:
Content-Encoding
Transfer-Encoding
Content-Type (the character set might be defined
here)
Category : Network/HTTP
Contact : Hakan Ardo <hakan@debian.org>
Entry Date : Fri Jun 20 1997
Priority : 1
Comments :
Project name : PUT/POST method
Description : The PUT/POST methods must be implemented!
Category : Network/HTTP
Author : Hakan Ardo <hakan@debian.org>
Entry Date : Fri Jun 20 1997
Priority : 1
Comments :
Project name : Other HTTP methods
Description : There are a few other methods that we might want to
support, like (OPTIONS, HEAD, DELETE, TRACE)
Category : Network/HTTP
Author : Hakan Ardo <hakan@debian.org>
Entry Date : Fri Jun 20 1997
Priority : 3
Comments :
Project name : Recover from HTTP server errors
Description : Sometimes a server returns an error message containing
info on how the requested object can be retried, e.g.
a redirect. The following cases should be handeled:
3xx Redirection (301-305)
400 Bad Request (try to use an 0.9 request instead,
or mabe send a bug repport)
405 Method Not Allowed (Convert PUT <=> POST <=> GET
and mabe HEAD => GET)
406 Not Acceptable (Ask the user to change the
Accept headders)
408 Request Timeout (Repeate the request)
411 Length Required (Add a length headder to the
request)
413 Request Entity Too Large (Minimize the request)
414 Request-URI Too Long (Convert GET => POST)
501 Not Implemented (treet as 405)
503 Service Unavailable (Check Retry-After headder
and retry)
505 HTTP Version Not Supported (Try a 0.9/1.0
request)
The headders we should inspect here is:
Date
Location
Retry-After
I Have started the implementation of this, check out
the code in netmanager/http/HTTPResponse.cc too se
what more is needed.
Category : Network/HTTP
Author : Hakan Ardo <hakan@debian.org>
Entry Date : Fri Jun 20 1997
Priority : 1 (at least the simple redirection part)
Comments :
Project name : HTTP Multiple Choices
Description : A HTTP server might give us several alternatives to
chose from when we ask for a object. In some cases we
should be able to handle the chosing automatically,
and in some cases we need to ask the user. This is
initiated by the server by a "300 Multiple Choices"
responsecode.
Category : Network/HTTP
Author : Hakan Ardo <hakan@debian.org>
Entry Date : Fri Jun 20 1997
Priority : 3
Comments :
Project name : HTTP Multipart Response
Description : A server might reply with more than one object. For
example, you are supposed to be able to create a
animation by sending several images as a response
to a request. Or to have a page updating itselfe by
continiously (or in intervalls) sending a new version
of the page. (This will cause problems if we have
requested more than one object from the same
connection using the pipelining feature of HTTP)
Category : Network/HTTP
Author : Hakan Ardo <hakan@debian.org>
Entry Date : Fri Jun 20 1997
Priority : 3
Comments :
Project name : HTTP MD5 Checksum
Description : A Response from a server might contain a "Content-MD5"
header with a MD5 checksum for the file returned.
Thisone should be check and we should somehow indicate
to the user that the file has been checked.
Category : Network/HTTP
Author : Hakan Ardo <hakan@debian.org>
Entry Date : Fri Jun 20 1997
Priority : 3
Comments :
Project name : HTTP Warning
Description : A Response from a server might contain a "Warning"
header that we might want to check out.
Category : Network/HTTP
Author : Hakan Ardo <hakan@debian.org>
Entry Date : Fri Jun 20 1997
Priority : 3
Comments :
I alos have a project that is curently going on:
Project name : Persistent Connections
Description : We need to optimize the handling of the connections so
that when we have several connection open to the same
server a new request will be sent to the right one at
the right time. We also has to make sure to be
compatible with old 1.0 servers.
Category : Network
Author : Hakan Ardo <hakan@debian.org>,
Jimen Ching <jching@flex.com>
Status : Designing
Entry Date : Fri Jun 14 1997
Publication Aate : Fri Jun 20 1997
Priority : 1
Comments :
OK, I think that should make an almost complete HTTP/1.1 implementation! I
have probably missed something, so if you find it please let me know :)
- ---------------------------------------------------------------
Name: Hakan Ardo
E-Mail: hakan@debian.org
WWW: http://www.ub2.lu.se/~hakan/sig.html
Public Key: Try "finger hakan@master.debian.org"
Fingerprint: E9 81 FD 90 53 5C E9 3E 3D ED 57 15 1B 7E 29 F3
Interests: WWW, Programming, 3D graphics
Thought for the day: As long as one understands, the
spelling does not matter :-)
- ---------------------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: 2.6.3i
Charset: noconv
iQCVAwUBM6qd596dx9igIm71AQH9kQP9GUc/0eNmxK54f1ahhqpqZywmDvCEUv0G
9/W+bp7wEOGavS+F23oRonJEmmHO0G73IiU1mKjiahmMPkq/btt0irci9fc1btqH
eqBL7H4uxflY4wwBHd/CL3JUNJorcVTx6c8RwLa86LjY9nQfLUHzkwqR7WSf3mWU
qssTeILN/6c=
=eL6S
-----END PGP SIGNATURE-----