32
How Web Servers Work Browser Client Server Web Server HTML File Image File HTML File Image File Internet URL

How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Embed Size (px)

Citation preview

Page 1: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

How Web Servers Work

Browser

Client Server

Web Server

HTML File

Image File

HTML File

Image File

Internet

URL

Page 2: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Web Formats & Languages

• Direct Browser Support:– HTML: Web page content– JavaScript: Scripting web pages– CSS: Style sheets– Images: GIF, PNG, JPEG

• Plug-ins:– PDF: Final product distribution

• AJAX (JavaScript to Server)– XML

Page 3: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

XML-Type Languages

• Extensible Markup Language

• Single tag: <tag />

• Tag with attributes: <name attribute=‘value’ />

• Tag with content:<name>

<contentname/>

</name>

• Includes: HTML, KML, and many more

Page 4: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

HTML

• Hyper Text Markup Language<html>

<head>

<title>This is my page</title>

</head>

<body>

Some text that will appear on the page

</body>

</html>

Page 5: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Hyperlinks

<a href=‘www.google.com’>Google</a>

<a href=‘WebPage.html’>My Page</a>

<a href=‘LargeImage.png’><img src=‘SmallImage.png’>

</a>

Page 6: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Images in HTML

<img src=‘MyImage.png’>

<img border=‘0’ src=‘MyImage.png>

Page 7: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Accessibility Attributes

• DreamWeaver will ask you for attributes for those with disabilities

• Provides text that will be spoken for those with impaired vision.

• Don’t worry about this for this assignment

Page 8: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Image Maps

• Create background image in ArcGIS– Create a map that looks good on the screen– Export or Screen Capture

• Define polygonal areas as “image maps” in DreamWeaver– Circles for points– Simple polygons for polygons– Polygons for polylines?

• Good for 10 to 20 areas

Page 9: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Image Maps• <img src="planets.gif" width="145" height="126"

alt="Planets" usemap="#planetmap">

• <map name="planetmap">• <area shape="rect" coords="0,0,82,126"

href="sun.htm" alt="Sun">• <area shape="circle" coords="90,58,3"

href="mercur.htm" alt="Mercury">• <area shape="circle" coords="124,58,8"

href="venus.htm" alt="Venus">• </map>

Page 11: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Can also have…

• Paragraphs <p>

• Horizontal rules <hr>

• Tables <table><tr><td>data</td></tr></table>

• Divs (boxes) <div>

• Headings: <h1>Heading</h1>

• Text with:– Bold <b>– Italic <i>– And “Styles” with much more

Page 12: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

MacroMedia DreamWeaver

• Now part of Adobe CS

• HTML Editor

• Excellent tutorials

• Makes HTML editing similar to MS-Word

• Allows “publishing” pages to the web

• Work flow:– Edit web pages locally– Review in browser– Upload/publish to a server

Page 13: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Tips for Maps in HTML Pages

• Use a white or light background with dark or black text (easy to read). The alternative is to use a black or dark background but then the text must be light.

• Make the maps for the web: – They have to be simpler than paper maps– Text must be large enough to read– You can break up site maps, titles, and even

legends into separate images

Page 14: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Dynamic Web Sites

Browser

Client Server

Web Server

HTML File

Image File

HTML File

Image File

Internet

URL

GIS Data

Scripts

Page 15: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Server-Side• Scripting Languages:

– PHP– Python

• Databases:– MySQL– PostgreSQL– SQL Server– Oracle

• Web Servers– Apache– IIS

• Operating Systems– Windows– Linux (e.g. Ubuntu)– UNIX

Page 16: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

GIS Web Servers

Browser

Client Server

Web Server

HTML File

Image File

HTML File

Image File

Internet

URL

GIS Server

Database

Scripts

GIS Data

JavaScriptAJAX

Page 17: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

GIS Web Servers• ArcGIS Server

– Expensive– Slow– Buggy (reboot each night)

• MapServer– Free– Moderately fast– Hard to configure

• GeoServer– Free– Client: OpenLayers– Looking pretty good

• Custom solutions– Have to assemble– Can be very fast

Page 18: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

GIS Web Servers

• ArcServer Examples:– Greeley Colorado’s GIS Website

• http://gis.greeleygov.com/origin/propinfo.html

• GeoServer Examples:– National Map Viewer

• http://viewer.nationalmap.gov/viewer/

– NOAA’s ERMA• http://tinyurl.com/cafwp54

Page 19: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Problem with Performance

1. User zooms or pans the map

2. Client requests a new area from the server

3. Server renders the area to a raster file (takes a relatively long time)

4. Server returns the raster to the client

5. Back to 1

• With lots of users, the server cannot keep up!

Page 20: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Tile-Based Servers

• Topozone tiled the USGS 24k topo maps into 256x256 cells at multiple zoom levels

• GoogleMaps copied this approach with the entire world in “Google Mercator”– Now “World Mercator”

• Very fast– No rendering– Images can be cached locally (they don’t

change)

• Cannot symbolize the layers

Page 21: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

GIS Web Servers

Browser

Client Server

Web Server

HTML File

Image File

HTML File

Image File

Internet

URL

JavaScriptAJAX

Tile Server

Page 22: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

GoogleMaps API

• Performance limited to about 400 points features– Example: EDDMaps.org

• Can also provide rendered “tiles” with GoogleMaps (harder)– Example: NIISS.org

Page 23: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

GIS Web Servers

Browser

Client Server

Web Server

HTML File

Image File

HTML File

Image File

Internet

URL

GIS Server

Database

Scripts

GIS Data

JavaScriptAJAX

Tile Server

Page 24: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Hybrid Systems

• National Institute of Invasive Species Science (www.niiss.org).

• Other sites based on International Biological Information System (ibis.colostate.edu)

Page 25: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Latest Developments

• Arcata: Online GIS Portal

• Crime Spotters– http://sanfrancisco.crimespotting.org/

• Cloud Made:– http://maps.cloudmade.com/

• Open Street Map– http://www.openstreetmap.org/

• EROS EarthExplorer– http://edcsns17.cr.usgs.gov/EarthExplorer/

Page 26: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Future Web

• Heavy Clients?– C++ based plug ins

• Arcata: Online GIS Portal

• Java Applets?

• HTML 5– “Heavy” on JavaScript

Page 27: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

“Heavy Clients”

Browser

Client Server

Web Server

HTML File

Image File

HTML File

Image File

Internet

URL

GIS Server

Database

Scripts

GIS DataPlug-in/HTML 5

Tile Server

Page 28: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

HTML 5

• New HTML Standard– <canvas>: 2D drawing– Elements for media control: <video>, <audio> – Support for local storage– Additional Elements: <article>, <footer>,

<header>, <nav>, <section>– New form controls:

• calendar, date, time, email, url, search

• No browser currently supports the entire standard

Page 29: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Minimum HTML 5 <!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Title of the document</title>

</head>

<body>

Content of the document......

</body>

</html>

Page 30: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

HTML 5 Examples

• 21 Ridiculously Impressive HTML5 Canvas Experiments– http://net.tutsplus.com/articles/web-

roundups/21-ridiculously-impressive-html5-canvas-experiments/

• GIS Cloud

• http://raphaeljs.com/australia.html

• http://www.scale18.com/canvas4.html

Page 31: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Future?

Browser

Client

Server

HTML File

Image File

HTML File

Image File

Web Server

URL

GIS Server

Data Stores

Scripts

Spatial Database

JavaScript

Tile Cache

ScriptsWeb Service

Page 32: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL

Creating a GIS Web Site

1. Understand and define the user needs1. Talk to the users

2. Select the technology that meets the needs with minimum complexity

3. Deliver in stages when possible

4. Use experienced people when possible

5. Web site must be intuitive or users will go elsewhere

1. Help is built in

6. Test, rework, test, rework, …