Hi all,
I just want to inform you about technical details.
A reference implementation of HTTP 1.1 is available for the java
environment thanks to apache.org (so, open source) :
Apache commons Http Client 3.1
http://hc.apache.org/httpclient-3.x/
(in near future : Http Client 4.0 will be released as a release
candidate ...)
This library is able to handle properly (tested in several projects) :
- cookies for session management (authentication)
- HTTP follow redirect (302) ...
- supports all HTTP methods (GET, POST, DELETE, HEAD...)
- Http headers are easy parsed and built
From apache docs :
Features
- Standards based, pure Java, implementation of HTTP versions
1.0 and 1.1
- Full implementation of all HTTP methods (GET, POST, PUT,
DELETE, HEAD, OPTIONS, and TRACE) in an extensible OO framework.
- Supports encryption with HTTPS (HTTP over SSL) protocol.
- Granular non-standards configuration and tracking.
- Transparent connections through HTTP proxies.
- Tunneled HTTPS connections through HTTP proxies, via the
CONNECT method.
- Transparent connections through SOCKS proxies (version 4 & 5)
using native Java socket support.
- Authentication using Basic, Digest and the encrypting NTLM (NT
Lan Manager) methods.
- Plug-in mechanism for custom authentication methods.
- Multi-Part form POST for uploading large files.
- Pluggable secure sockets implementations, making it easier to
use third party solutions
- Connection management support for use in multi-threaded
applications. Supports setting the maximum total connections as well
as the maximum connections per host. Detects and closes stale
connections.
- Automatic Cookie handling for reading Set-Cookie: headers from
the server and sending them back out in a Cookie: header when
appropriate.
- Plug-in mechanism for custom cookie policies.
- Request output streams to avoid buffering any content body by
streaming directly to the socket to the server.
- Response input streams to efficiently read the response body
by streaming directly from the socket to the server.
- Persistent connections using KeepAlive in HTTP/1.0 and
persistance in HTTP/1.1
- Direct access to the response code and headers sent by the
server.
- The ability to set connection timeouts.
- HttpMethods implement the Command Pattern to allow for
parallel requests and efficient re-use of connections.
- Source code is freely available under the Apache Software
License.
Standards Compliance
HttpClient implements the following specifications endorsed by the
Internet Engineering Task Force (IETF) and the internet at large:
- RFC1945 Hypertext Transfer Protocol -- HTTP/1.0
- RFC2616 Hypertext Transfer Protocol -- HTTP/1.1
- RFC2617 HTTP Authentication: Basic and Digest Access
Authentication
- RFC2109 HTTP State Management Mechanism (Cookies)
- RFC2396 Uniform Resource Identifiers (URI): Generic Syntax
- RFC1867 Form-based File Upload in HTML
Enjoy,
Good morning or afternoon,
Laurent
Le 4 juin 08 à 19:49, Roy Williams a écrit :
> Sebastien
>
> Of course the Vizier people can use redirects if they want, it is
> quite legal. It is also legal to make a cone search which never
> returns more than three sources, or one that returns an error for
> every possible request.
>
> I have done a rough timing test of Vizier cone searches, and I find
> that the redirect costs about 0.5 seconds per cone search. In other
> words, a Vizier service will be quite a bit faster if you simply
> replace up front the string "vizier" with "webviz" in all the
> accessURLs that you get from the registry. Since Vim runs hundreds
> of cone searches at a time, this is what I have chosen to do, to
> save a few minutes of my customer's valuable time.
>
> Roy
>
> --
>
> California Institute of Technology
> 626 395 3670
>
------------------------------------------------------------------------
-
Laurent Bourgès, engineer
EURO-VO-DCA Project
LUTh, Observatoire de Paris-Meudon
5 place Jules Janssen
F-92 195 Meudon Cedex
Tel : 01 45 07 74 25
Email: Laurent.Bourges-at-obspm.fr
-
Received on 2008-06-05Z11:23:55