next up previous contents
Next: Uniform Resource Locators Up: The World Wide Previous: The World Wide

Beneath the Surf

Mosaic has a few well know places to look for data built in. One of these is specified by the URL:

A URL is a Uniform Resource Locator. This specifies what a piece of information is called
(`` /SDG/Software/Mosaic/StartingPoints/NetworkStartingPoints.html''), where to find it (in this case the machine called, and which protocol to use to get the information (in this case http, or HyperText Transfer Protocol).

When our researcher selects `` Internet Starting Points'', her Mosaic makes a TCPgif connection to the World Wide Web server running on
www.ncsa.uiuc.edugif. It then uses this connection to send a request for the data called `` NetworkStartingPoints.html''. The WWW server at NCSA uses the connection to send back the requested data, and then closes down the connection.

Next, Mosaic reads various embedded commands in the data that was retrieved, and creates a nicely laid out page of text which it presents to our researcher.

Some parts of the text she sees are highlighted (on Mosaic for X, they are underlined and coloured blue). One entry she sees is:

Web Servers Directory: The central listing of known World Wide Web servers.
She simply clicks on the highlighted text, and the associated page of information is fetched ``as if by magic''. Of course, what actually happened was that the text she saw on screen was not the whole story. The page of data that was retrieved from NCSA was actually in a language called HTML or Hyper Text Markup Language. Before her copy of Mosaic laid out the text nicely, it actually looked something like:
<A HREF="">
Web Servers Directory
</A>: The central listing of known World Wide Web servers.
Thus the highlighted text she clicked on was associated with the URL:
and clicking on this text causes her Mosaic to make a connection to to request the page called `` /hypertext/DataSources/WWW/Servers.html''

Our researcher may be sitting in Melbourne, Australia. The NCSA server is in Illinois, USA, and the CERN server is near Geneva in Switzerland, but none of this concerns our researcher - she just clicks on the highlighted items, and the hyper-linksgif behind them take her from server to server around the world. Unless she pays close attention to the URLs being requested, she will not know or care where the data is actually stored (except that some places have slower links than others).

On the list of places she retrieved from the CERN server, she sees the entry:

United Kingdom (sensitive map, country info)
The HTML behindgif this entry is actually:
    United Kingdom
    (<A HREF="">
     sensitive map</A>, 
    <A HREF="">
     country info</A>)
She clicks on country info, thus requesting the HTML text with the URL:
As before, her Mosaic sets up a connection, this time to, and retrieves the page called `` /misc/uk/intro.html''.

However, this time the HTML her Mosaic gets back contains the command:

    <img src=uk_map_lbl.gif ISMAP>
Ignoring the `` ISMAP'' bit for a second, this says that the page should contain a GIFgif image at this point, and that the GIF image is called `` uk_map_lbl.gif''. Actually it's full URL is:
which Mosaic can figure out from the URL of the page the image is to be contained in. Mosaic now sets up another connection to to request the image called `` /misc/uk/uk_map_lbl.gif'', and when it has retrieved the image, it displays it in the correct place in the text.

Now, if it wasn't for the ISMAP part of this HTML, that's all that would happen - the image would be displayed, and our researcher could look at it. However, in this case, the image is a map of the UK, and we put some intelligence behind the map. The ISMAP part of the HTML tells our researcher's Mosaic that this image is special, and it will allow her to click on the map to get more information.

In actual fact, the full piece of HTML we used in this particular case was:

    <a href=/cgi-bin/imagemap/uk_map>
    <img src=uk_map_lbl.gif ISMAP>
So, when our researcher sees London marked on the map, and she clicks on it, her Mosaic does something a little different. It sets up a connection to (that is where the map came fromgif, and sends a request for the URL:,451
Here 404,451 are the coordinates of the point she clicked within the map. The ISMAP command associated with the image tells Mosaic to work out where the user clicked, and send that information too.

At the server on, there are a number of data files for maps. This special URL asks the server to look in its map data for `` uk_map'', and find what the point 404,451 corresponds to (how this is done is described in chapter 5).

The WWW server running on responds with the URL of the page corresponding to London on this map - in this case the URL is:
which happens to be on the same server as the map, though it didn't have to be. Our researcher's Mosaic then sets up another connection to, and requests the page `` /misc/uk/london.html''.

When this page is received, Mosaic parses the HTML text it gets back, and discovers the following line in the retrieved text:

    <img src=/uk/london/tower_bridge.gif>
and so it then also requests
which is just a little picture of Tower Bridge here in London, which doesn't have any special significance other than decorating the London page.

next up previous contents
Next: Uniform Resource Locators Up: The World Wide Previous: The World Wide

Jon Crowcroft
Wed May 10 11:46:29 BST 1995