Top Banner
FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
78

FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

Dec 31, 2015

Download

Documents

Norah Fowler
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 1

Part 4

Web technologies: HTTP, CGI,PHP,Java applets)

Page 2: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 2

World Wide Web

Major application protocol used on the Internet

Simple interface Two concepts

Point Click

Page 3: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 3

Web Components

Browser Web server Hypermedia links Document representation Transfer protocol

Page 4: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 4

Browser

Application program User’s interface to Web Becomes Web client to fetch information from

Web server Displays information for user

Page 5: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 5

Web Server

Running program Stores set of Web documents Responds to request from browser by

sending copy of document

Page 6: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 6

Hypermedia Concept

Web document contains mixture of Text Images Selectable pointers to other Web pages

Known as hypermedia

Page 7: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 7

Hypermedia Link On A Web Document

Associated with object or area on screen Internally like a symbolic link Advantage

Can reference document on another computer Disadvantage

Can become invalid

Page 8: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 8

Web Document

Called a web page One web page per file Can contain

Binary image Text file

Text standard Readable representation ASCII Specifies contents and layout Known as Hypertext Markup Language

(HTML)

Page 9: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 9

Terminology

Markup language Gives general layout guidelines Does not specify exact placement or format

Page 10: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 10

Consequence of UsingA Markup Language

Web documents use the HyperText Markup Language representation. Instead of specifying a detailed document format, HTML allows a document to contain general guidelines for display, and allows a browser to choose details. Consequently, two browsers may display an HTML document differently.

Page 11: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 11

HTML Details

Document is free-format Embedded tags give display guidelines Tags often appear in pairs Tag format

Beginning tag

Ending tag<TAGNAME>

</TAGNAME>

Page 12: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 12

General Form of HTML Document

<HTML><HEAD>

<TITLE>text that forms the document title

</TITLE></HEAD><BODY>

body of the document appears here</BODY>

</HTML>

Page 13: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 13

Document Format

<HTML><HEAD><TITLE> text that forms the document title</TITLE></HEAD><BODY>body of the document appears here</BODY></HTML>

HTML source is free-formPrevious example equivalent to this

Page 14: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 14

Example HTML Tags

Begin paragraph

<P> Line break (force a new line)

<BR> Main heading (largest, boldest font)

<H1> … text … </H1> Next heading (next largest)

<H2> … text … </H2>

Page 15: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 15

Example of HTML Line Break

InputHello there.<BR>This is

an example<BR>of HTML.

OutputHello there.

This is an example

of HTML.

Page 16: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 16

Example of HTML Line Break (continued)

InputHello there.<BR><BR>This

shows<BR>HTML spacing.

OutputHello there.

This shows

HTML spacing.

Page 17: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 17

Example of HTML Headings

InputHello.<BR><H1>This is a

heading</H1><BR>Back to normal.

OutputHello.

This is a headingBack to normal.

Page 18: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 18

Other HTML Features

Numbered or unnumbered lists Images Links to other pages

Page 19: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 19

Images in HTML

Explicitly denoted as image Specified with image tag Can specify alignment with text Example image tags

<IMG SRC=“file_name”>

<IMG SRC=“file_name” ALIGN=MIDDLE>

Page 20: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 20

Images in HTML

Here is a picture. <IMG SRC=“file_name” ALIGN=MIDDLE>

Page 21: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 21

Links to Other Pages

Symbolic representation Embedded in HTML document Browser

Hides text of link from user Associates link with item on page Makes item selectable

Called Uniform Resource Locator (URL)

Page 22: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 22

General Form of URL

Only domain name required Defaults

Protocol is http Port is 80 Path is index.html

protocol :// domain_name : port / item_name

name of accessprotocol to use domain name of

server computer

protocol portnumber path name

of item

Page 23: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 23

Link in HTML

Link specified in <A> tag Applies to successive items Ends with </A> Called anchor

Page 24: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 24

Example of Anchor Tag in HTML

InputThe text is published by<A HREF=http://www.prenhall.com>Prentice Hall, </A> one of the larger publishers of ComputerScience textbooks.

ProducesThe text is published by Prentice Hall, one of the larger publishers of Computer Science textbooks.

Page 25: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 25

Use of Client-Server Paradigm

Web server Makes set of pages available Uses port 80

Web client Called a browser Creates TCP connections to server Sends requests for items

Page 26: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 26

Use of Client-Server Paradigm

Primary protocol used between browser and server known as HyperText Transfer Protocol (HTTP)

HTTP requests sent as text (ASCII) GET: request an item from the server HEAD: request status information about an

item POST: send data to the server

Page 27: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 27

Use of Client-Server Paradigm

Response from server begins with ASCII header Status code (200 = handled request)

Page 28: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 28

Inside a Browser

Main controller Receives input from user Invokes client and interpreter

Clients One or more built into browser Uses network to fetch items

Interpreter One or more built in Displays items

Page 29: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 29

Illustration of a Browser

Browser contains many components

Page 30: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 30

Alternative Protocol Example

File transfer service Protocol is FTP Example URL

ftp://ftp.cs.purdue.edu/pub/comer/netbook/client.c

Can be used in anchor tag

Page 31: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 31

Other Markup Languages

Extensible Markup Language (XML) does not specify layout

Tag names can be created as needed Example for a corporate phone book:

Page 32: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 32

Caching in Browsers

Cache for recently accessed HTML pages Images

Item normally fetched from cache User can override HTTP can verify timestamp before fetching

new copy

Page 33: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 33

Types of Web Pages

Static Stored in file Unchanging

Dynamic Formed by server Created on demand Output from a program Use Common Gateway Interface (CGI)

technology

Page 34: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 34

Types of Web Pages (cont)

Active Executed at client Consists of a computer program Can interact with user Use Java technology

Page 35: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 35

Summary of Web Document TypesWeb documents can be grouped into three categories depending on when the information in the document changes. The information in a static document remains unchanged until the author revises the document. The information in a dynamic document can change whenever a server receives a request for the document. Information displayed by an active document can change after the document has been loaded into a browser.

Page 36: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 36

CGI Technology

URL specifies Location of Web server CGI program on that server Arguments to program

Web server Uses TCP for communication Accepts HTTP request from client Runs specified CGI program Returns output to client

Page 37: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 37

CGI Technology (cont)

CGI program Performs arbitrary computation Often written in a scripting language Produces output file when run Starts output with header

Page 38: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 38

Header in CGI Output

Stops at first blank line Identifies

Encoding used Type of document

Format keyword: information

Page 39: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 39

CGI Header Examples

HTML document header

Content Type: text/html Text document header

Content Type: text/plain Redirection header

Location: /over_here/item4

Page 40: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 40

Example CGI Script

Generates document Document contains three lines of text

Header Blank line Document creation date

Page 41: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 41

Parameters

CGI programs can be parameterized URL can contain arguments that are passed

to CGI program Question mark separates CGI path from

arguments Server places information following question

mark in environment variable QUERY_STRING

Page 42: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 42

Example Environment Variables

Page 43: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 43

Encoding Information in a URL

Information that program stores between invocations: state information

Information passed to browser in form of cookie

Cookie consists of name/value pair Long term (persistent) or short term (session)

Page 44: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 44

Long-Term State Information

Program lifetime CGI program invoked by server Program exits after generating output

To maintain persistent data Write to file on disk Read from file on disk

Page 45: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 45

Long-Term State Information

Client’s IP address in environment variable Check if address in file Respond to client

Page 46: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 46

Short-Term State Information

Each invocation of a dynamic document program can produce a document containing a new set of URLs

Use new arguments in new URLs

Page 47: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 47

Short-Term State Information

Argument encodes number of times executed

Page 48: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 48

Example of Script Execution

Initial documentContent-type: text/html<HTML>This is the initial page.<BR><BR><A HREF=“http://www.nonexist.com/cgi/ex4?1”>Click here to refresh the page.</A> </HTML>

Resulting displayThis is the initial page.

Click here to refresh the page.

Page 49: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 49

Example of Script Execution

Generated outputContent-type: text/html<HTML>You have displayed this page 2 times.<BR><BR><A HREF=“http://www.nonexist.com/cgi/ex4?2”>Click here to refresh the page.</A> </HTML>

Resulting displayYou have displayed this page 2 times.

Click here to refresh the page.

Page 50: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 50

Generated URL Values

When it generates a document, a dynamic document program can embed state information as arguments in URLs. The argument string is passed to the program for the URL, enabling a program to pass state information from one invocation to the next.

Page 51: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 51

Server-Side Scripting

ASP (Active Server Pages) JSP (Java Server Pages) PHP (Perl Helper Pages) ColdFusion

Page 52: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 52

Server-Side Scripting

Server-side scripting technologies allow a dynamic page to be created from a template or skeleton that contains embedded commands or program scripts. Instead of using a computer program to generate an entire page, an interpreter copies the page and replaces only the scripting commands.

Page 53: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 53

Continuously Changing Information Needed for

Animations Rapid updates (e.g., stock prices)

Achieved with two mechanisms Server push Active document

Page 54: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 54

Server Push Technology

Client forms connection Server sends updates repeatedly Impractical

Page 55: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 55

Active Document Technology

Server Sends computer program to client

Client Runs program locally

Program Controls display Interacts with user

Page 56: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 56

Active Document Representation

Desire Platform independence Efficient execution High-speed data transmission Late binding

Consequence Compact representation Interpretive execution

Page 57: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 57

Active Document Translation

Compiler produces machine-independent binary Browser interprets binary

Page 58: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 58

Java Technology

Developed by Sun Microsystems Used for

Conventional applications Active documents (applets)

Includes Programming language Run-time system Class library

Page 59: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 59

Java Language Characteristics

High level General purpose Similar to C++ Object oriented Dynamic Strongly typed Statically type checked Concurrent

Page 60: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 60

Java Run-Time Environment Characteristics

Interpretative execution Automatic garbage collection Multi-threaded execution Internet access Graphics support

Page 61: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 61

Java Library

Classes for Graphics manipulation Low-level network I/O Interaction with a Web server Run-time system access File I/O Conventional data structures Event capture Exception handling

Page 62: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 62

Choice of Graphics Interface

Java includes an extensive graphics toolkit that consists of run-time support for graphics as well as interface software. The toolkit allows a programmer to choose a high-level interface, in which the toolkit handles details, or a low-level interface, in which the applet handles details.

Page 63: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 63

Example Java Applet

Window with two items Text area Button

Change text when button clicked

Page 64: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 64

Illustration of Applet Display

Initial

After user clicks button

Page 65: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 65

Example Applet Code

Page 66: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 66

Applet Invocation

Available in HTML Uses applet tag Specifies

Codebase (machine and path) Code (specific class to run)

Example<applet codebase=“www.nonexist.com/pth”

code=“bbb.class”>

Page 67: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 67

Java Functionality

HTML interface Controls display Interacts with user

HTTP interface Accesses remote Web documents Invokes other applets

Exceptions Indicate unanticipated circumstances Can be caught and handled

Page 68: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 68

Example Applet Code

Page 69: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 69

Example Applet Code (continued)

Page 70: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 70

Illustration of Applet Display

Page 71: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 71

JavaScript Technology

Alternative to Java technology Provides scripting language Browser reads and interprets script in source

form JavaScript can be integrated with HTML

Page 72: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 72

JavaScript Example

Page 73: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 73

JavaScript Example

Page 74: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 74

Summary

Web is major application in Internet Client

Called browser Fetches and displays document

Web documents Stored on servers Standard representation is HTML

Page 75: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 75

Summary (continued)

HTML Markup language Uses tags embedded in text

URL components Protocol Domain name of server Protocol port number Path of item Only domain is required

Page 76: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 76

Summary (continued)

Static web page Unchanging

Dynamic web page Output from a program on the server

Active web page Runs in browser Consists of a computer program

Page 77: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 77

Summary (continued)

Dynamic web page technology Known as CGI CGI program usually a script Document begins with header line URL can contain arguments

Page 78: FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)

FALL 2005 CSI 4118 – UNIVERSITY OF OTTAWA 78

Summary (continued)

Active web page technology Known as Java Programming language plus runtime support Document called applet