|
Web Server (HTTP 1.0)
In the
OSI
reference model, there is a thing called an Application layer which
allows computer processes to comunicate with each other.
Of course, there is more to it, I mean, there are 7 layers that act on
behalf of the user to inter comunicate (In the networking sense) through
different chanels (The Physical layer): copper wires, fiber optic, wireless,
etc.
This abstraction allows to build very robust services on top of very simple,
but complete, protocols.
Ok, HTTP is simple, but it is only simple due to the fact of the ingeniosness
(may not be a word) of it's creator, Tim
Berners Lee. And when I say that it is simple, I mean to implement.
The server that I've written, only implements the HTTP GET request and
allows for directory listings. It follows the version HTTP 1.0, in the
sense that it makes no use of something they call "pipelining." No pipelining
means that every object requested uses one connection. With pipelining,
a page composed of many objects may use only one connection to download
the whole web page (Great for performance, TCP is rather expensive in
regards to connection settings and such).
This server makes use of Java threads, so that each request is served
on its own. If you are interested, the source code is here.
BTW, the J in the file name, JWebServer.java, stands for Jose, not Java
(TM). |