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 www.ncsa.uiuc.edu), 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 TCP connection to the World Wide Web server running on
www.ncsa.uiuc.edu. 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="http://info.cern.ch/hypertext/DataSources/WWW/Servers.html"> 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:
http://info.cern.ch/hypertext/DataSources/WWW/Servers.htmland clicking on this text causes her Mosaic to make a connection to info.cern.ch 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-links 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 behind this entry is actually:
United Kingdom (<A HREF="http://scitsc.wlv.ac.uk/ukinfo/uk.map.html"> sensitive map</A>, <A HREF="http://www.cs.ucl.ac.uk/misc/uk/intro.html"> country info</A>)She clicks on country info, thus requesting the HTML text with the URL:
http://www.cs.ucl.ac.uk/misc/uk/intro.htmlAs before, her Mosaic sets up a connection, this time to www.cs.ucl.ac.uk, 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 GIF image at this point, and that the GIF image is called `` uk_map_lbl.gif''. Actually it's full URL is:
http://www.cs.ucl.ac.uk/misc/uk/uk_map_lbl.gifwhich Mosaic can figure out from the URL of the page the image is to be contained in. Mosaic now sets up another connection to
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> </a>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 www.cs.ucl.ac.uk (that is where the map came from, and sends a request for the URL:
http://www.cs.ucl.ac.uk/cgi-bin/imagemap/uk_map?404,451Here 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 www.cs.ucl.ac.uk, 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 www.cs.ucl.ac.uk responds with the URL of the page corresponding to London on this map - in this case the URL is:
http://www.cs.ucl.ac.uk/misc/uk/london.htmlwhich 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
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
http://www.cs.ucl.ac.uk/uk/london/tower_bridge.gifwhich is just a little picture of Tower Bridge here in London, which doesn't have any special significance other than decorating the London page.