GridHTTPD

From SRB

Contents

GridHTTPD

is an embedded web server for Storage Resource Broker.

What is GridHTTPD?

GridHTTPD is an embedded web server works with the Storage Resource Broker (SRB) developed at the San Diego Supercomputer Center (SDSC).

In plain English, GridHTTPD adds a Web/HTTP interface to SRB server, so web client can retrieve public data/files stored on SRB server.

In programmer’s language, GridHTTPD acts as SRB public user, and translate Web/HTTP request from client into SRB server functions, read the file, and write the file to web client with HTTP protocol.

Examples of using GridHTTPD

Say if there is a public readable file stored in SRB with path “/home/foo.bar/some_text.txt”, and if the GridHTTPD server is running on server www.example.com, with port 80. You can access this file by putting the URL “http://www.example.com/home/foo.bar/some_text.txt” in your web browser’s URL window and press enter. That’s all!

Or if you are a text browser guy/girl, you can do something like this on Linux/Unix/OSX system “wget http://www.example.com/home/foo.bar/some_text.txt”.

Who can use GridHTTPD?

Anyone can access GridHTTPD with an HTTP 1.0 compliant client, including most web browsers, and many useful tools such as WGET and CURL. No registration/log-in/plug-in is required.

Can I use GridHTTPD from anywhere?

Yes. Anyone with a web client can access public readable files stored in SRB.

What can/cannot GridHTTPD do?

For client/user: anyone can read/download files with a web browser on any system via GridHTTPD. It does not list directories however.

For SRB admin: only HTTP GET method is supported. So GridHTTPD is meant to read files stored in SRB. GridHTTPD can be setup on Linux/Unix based system only. Windows is not supported at this time. Note that any web client, including ones on Windows, can retrieve files via GridHTTPD, once the server is up and running. GridHTTPD does not have access to local file system.

What about security?

GridHTTPD is very safe:

1. It's an extremely simple program (less than 1000 lines of code).

2. It only reads public readable files as public user (public@npaci).

3. It does not list files/directories, a spectator would have to know the full file path to access a certain file.

4. It is not built by default, an SRB admin can decide whether to turn-on this feature.

5. It has no access to local file system.

Can I use GridHTTPD for our SRB system?

Yes. The SRB Administrator needs to compile SRB server with configure tag “—enable-httpd=PORTNUM”. For instance, if the port number 8080 is to be used, he/she needs to use this configure command “configure --enable-httpd=8080”

Where can I obtain GridHTTPD?

The GridHTTPD is in our CVS source tree. Hopefully it will be included in our next official release (as of version 3.4). If you would like to try it out before then, please contact srb@sdsc.edu for instructions.

Future development of GridHTTPD?

We are considering/debating on additional features, such as HTTPS, partial HTTP GET, and directories listing, in future development. Our decision will be depending on whether there is a real-world need for it. Please contact srb@sdsc.edu if you need any feature implemented.

(Shameless self-plug) Personally, as the author of this tool, I would like to add more grid features to GridHTTPD, such as building a grid map at runtime, and always redirect the user to the GridHTTPD that’s available and closest to the physical resource.