Download presentation
Presentation is loading. Please wait.
Published byTracey Sanders Modified over 9 years ago
1
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
2
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA2 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
3
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA3 Types of Web Pages (cont) Active Executed at client Consists of a computer program Can interact with user Use Java technology
4
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA4 Summary of Web Document Types Web 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.
5
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA5 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
6
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA6 CGI Technology (cont) CGI program Performs arbitrary computation Often written in a scripting language Produces output file when run Starts output with header
7
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA7 Header in CGI Output Stops at first blank line Identifies Encoding used Type of document Format keyword: information
8
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA8 CGI Header Examples HTML document header Content Type: text/html Text document header Content Type: text/plain Redirection header Location: /over_here/item4
9
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA9 Example CGI Script Generates document Document contains three lines of text Header Blank line Document creation date
10
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA10 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
11
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA11 Example Environment Variables
12
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA12 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)
13
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA13 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
14
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA14 Long-Term State Information Client’s IP address in environment variable Check if address in file Respond to client
15
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA15 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
16
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA16 Short-Term State Information Argument encodes number of times executed
17
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA17 Example of Script Execution Initial document Content-type: text/html This is the initial page. Click here to refresh the page. Resulting display This is the initial page. Click here to refresh the page.
18
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA18 Example of Script Execution Generated output Content-type: text/html You have displayed this page 2 times. Click here to refresh the page. Resulting display You have displayed this page 2 times. Click here to refresh the page.
19
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA19 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.
20
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA20 Server-Side Scripting ASP (Active Server Pages) JSP (Java Server Pages) PHP (Perl Helper Pages) ColdFusion
21
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA21 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.
22
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA22 Continuously Changing Information Needed for Animations Rapid updates (e.g., stock prices) Achieved with two mechanisms Server push Active document
23
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA23 Server Push Technology Client forms connection Server sends updates repeatedly Impractical
24
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA24 Active Document Technology Server Sends computer program to client Client Runs program locally Program Controls display Interacts with user
25
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA25 Active Document Representation Desire Platform independence Efficient execution High-speed data transmission Late binding Consequence Compact representation Interpretive execution
26
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA26 Active Document Translation Compiler produces machine-independent binary Browser interprets binary
27
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA27 Java Technology Developed by Sun Microsystems Used for Conventional applications Active documents (applets) Includes Programming language Run-time system Class library
28
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA28 Java Language Characteristics High level General purpose Similar to C++ Object oriented Dynamic Strongly typed Statically type checked Concurrent
29
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA29 Java Run-Time Environment Characteristics Interpretative execution Automatic garbage collection Multi-threaded execution Internet access Graphics support
30
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA30 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
31
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA31 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.
32
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA32 Example Java Applet Window with two items Text area Button Change text when button clicked
33
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA33 Illustration of Applet Display Initial After user clicks button
34
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA34 Example Applet Code
35
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA35 Applet Invocation Available in HTML Uses applet tag Specifies Codebase (machine and path) Code (specific class to run) Example
36
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA36 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
37
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA37 Example Applet Code
38
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA38 Example Applet Code (continued)
39
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA39 Illustration of Applet Display
40
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA40 JavaScript Technology Alternative to Java technology Provides scripting language Browser reads and interprets script in source form JavaScript can be integrated with HTML
41
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA41 JavaScript Example
42
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA42 JavaScript Example
43
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA43 Summary Web is major application in Internet Client Called browser Fetches and displays document Web documents Stored on servers Standard representation is HTML
44
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA44 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
45
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA45 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
46
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA46 Summary (continued) Dynamic web page technology Known as CGI CGI program usually a script Document begins with header line URL can contain arguments
47
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA47 Summary (continued) Active web page technology Known as Java Programming language plus runtime support Document called applet
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.