Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)"— Presentation transcript:

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


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

Similar presentations


Ads by Google