1 / 96

Part 4

Part 4. Other Topics (Web technologies: HTTP, CGI, Java applets; Middleware). World Wide Web. Major application protocol used on the Internet Simple interface Two concepts Point Click. Web Components. Browser Web server Hypermedia links Document representation Transfer protocol.

varen
Download Presentation

Part 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Part 4 Other Topics (Web technologies: HTTP, CGI, Java applets; Middleware) CSI 4118 – UNIVERSITY OF OTTAWA

  2. World Wide Web • Major application protocol used on the Internet • Simple interface • Two concepts • Point • Click CSI 4118 – UNIVERSITY OF OTTAWA

  3. Web Components • Browser • Web server • Hypermedia links • Document representation • Transfer protocol 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 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 CSI 4118 – UNIVERSITY OF OTTAWA

  6. Hypermedia Concept • Web document contains mixture of • Text • Images • Selectable pointers to other Web pages • Known as hypermedia 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 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) CSI 4118 – UNIVERSITY OF OTTAWA

  9. Terminology • Markup language • Gives general layout guidelines • Does not specify exact placement or format 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. 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> 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> 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-form • Previous example equivalent to this 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> CSI 4118 – UNIVERSITY OF OTTAWA

  15. Example of HTML Line Break • Input Hello there.<BR>This is an example<BR>of HTML. • Output Hello there. This is an example of HTML. CSI 4118 – UNIVERSITY OF OTTAWA

  16. Example of HTML Line Break (continued) • Input Hello there.<BR><BR>This shows<BR>HTML spacing. • Output Hello there. This shows HTML spacing. CSI 4118 – UNIVERSITY OF OTTAWA

  17. Example of HTML Headings • Input Hello.<BR><H1>This is a heading</H1><BR>Back to normal. • Output Hello. This is a heading Back to normal. CSI 4118 – UNIVERSITY OF OTTAWA

  18. Other HTML Features • Numbered or unnumbered lists • Images • Links to other pages 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> CSI 4118 – UNIVERSITY OF OTTAWA

  20. Images in HTML Here is a picture. <IMG SRC=“file_name” ALIGN=MIDDLE> 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) CSI 4118 – UNIVERSITY OF OTTAWA

  22. General Form of URL protocol :// domain_name : port / item_name • Only domain name required • Defaults • Protocol is http • Port is 80 • Path is index.html name of access protocol to use protocol port number domain name of server computer path name of item CSI 4118 – UNIVERSITY OF OTTAWA

  23. Link in HTML • Link specified in <A> tag • Applies to successive items • Ends with </A> • Called anchor CSI 4118 – UNIVERSITY OF OTTAWA

  24. Example of Anchor Tag in HTML • Input The text is published by <A HREF=http://www.prenhall.com> Prentice Hall, </A> one of the larger publishers of Computer Science textbooks. • Produces The text is published byPrentice Hall,one of the larger publishers of Computer Science textbooks. 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 CSI 4118 – UNIVERSITY OF OTTAWA

  26. Use of Client-Server Paradigm • Primary protocol used between browser and server known as HyperText Transfer Protocol (HPPT) • 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 CSI 4118 – UNIVERSITY OF OTTAWA

  27. Use of Client-Server Paradigm • Response from server begins with ASCII header • Status code (200 = handled request) 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 CSI 4118 – UNIVERSITY OF OTTAWA

  29. Illustration of a Browser • Browser contains many components 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 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: 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 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 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 CSI 4118 – UNIVERSITY OF OTTAWA

  35. 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. 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 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 CSI 4118 – UNIVERSITY OF OTTAWA

  38. Header in CGI Output • Stops at first blank line • Identifies • Encoding used • Type of document • Format keyword: information 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 CSI 4118 – UNIVERSITY OF OTTAWA

  40. Example CGI Script • Generates document • Document contains three lines of text • Header • Blank line • Document creation date 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 CSI 4118 – UNIVERSITY OF OTTAWA

  42. Example Environment Variables 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) 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 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 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 CSI 4118 – UNIVERSITY OF OTTAWA

  47. Short-Term State Information • Argument encodes number of times executed CSI 4118 – UNIVERSITY OF OTTAWA

  48. Example of Script Execution • Initial document Content-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 display This is the initial page. Click here to refresh the page. CSI 4118 – UNIVERSITY OF OTTAWA

  49. Example of Script Execution • Generated output Content-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 display You have displayed this page 2 times. Click here to refresh the page. 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. CSI 4118 – UNIVERSITY OF OTTAWA

More Related