Web Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm.

Similar documents
Motivation For Networking. Information access Interaction among cooperative application programs Resource sharing

3. WWW and HTTP. Fig.3.1 Architecture of WWW

Application Level Protocols

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications

Hypertext Transport Protocol

Review of Previous Lecture

COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS. Web Access: HTTP Mehmet KORKMAZ

Computer Networks. Wenzhong Li. Nanjing University

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved

CS 43: Computer Networks. Layering & HTTP September 7, 2018

COSC 2206 Internet Tools. The HTTP Protocol

CMPE 151: Network Administration. Servers

Web, HTTP and Web Caching

Computer Systems and Networks

CMSC 332 Computer Networking Web and FTP

Global Servers. The new masters

Networking. Layered Model. DoD Model. Application Layer. ISO/OSI Model

WWW: the http protocol

2/13/2014. A protocol is an agreed-upon convention that defines how communication occurs between two (or more?) endpoints

Chapter 2: Application Layer. Chapter 2 Application Layer. Some network apps. Application architectures. Chapter 2: Application layer

1-1. Switching Networks (Fall 2010) EE 586 Communication and. September Lecture 10

HTTP Review. Carey Williamson Department of Computer Science University of Calgary

CSc 450/550 Computer Networks Network Architectures & Client-Server Model

Internet applications

Network Applications and the Web

Layered Model. DoD Model. ISO/OSI Model

Chapter 27 WWW and HTTP Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Notes beforehand... For more details: See the (online) presentation program.

Foundations of Telematics

Application Layer. Applications and application-layer protocols. Goals:

HyperText Transfer Protocol

The HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

APPLICATION LAYER APPLICATION LAYER : DNS, HTTP, , SMTP, Telnet, FTP, Security-PGP-SSH.

Outline. Computer Center, CS, NCTU. Web hosting. Proxy. Basics Client-Server architecture HTTP protocol Static vs. dynamic pages Virtual hosts

6 Computer Networks 6.1. Foundations of Computer Science Cengage Learning

World Wide Web. Before WWW

M2-R4: INTERNET TECHNOLOGY AND WEB DESIGN

Chapter 2 Application Layer

Web Programming. Based on Notes by D. Hollinger Also Java Network Programming and Distributed Computing, Chs.. 9,10 Also Online Java Tutorial, Sun.

Application Layer Introduction; HTTP; FTP

SCS3004 Networking Technologies Application Layer Protocols

How to work with HTTP requests and responses

Networks, WWW, HTTP. Web Technologies I. Zsolt Tóth. University of Miskolc. Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP / 35

Outline of Lecture 3 Protocols

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4

WEB TECHNOLOGIES CHAPTER 1

EE 122: HyperText Transfer Protocol (HTTP)

WWW Document Technologies

COMPUTER NETWORK. Homework #1. Due Date: March 29, 2017 in class

CSSE 460 Computer Networks Group Projects: Implement a Simple HTTP Web Proxy

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

CCNA Exploration Network Fundamentals. Chapter 3 Application Layer Functionality and Protocols

Internet Services & Protocols. Application Layer and its Services

M3-R3: INTERNET AND WEB DESIGN

Application Layer: HTTP

Project 2 Implementing a Simple HTTP Web Proxy

Browser behavior can be quite complex, using more HTTP features than the basic exchange, this trace will show us how much gets transferred.

Chapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication

Information Network Systems The application layer. Stephan Sigg

Networked Applications: Sockets. End System: Computer on the Net

Proxying. Why and How. Alon Altman. Haifa Linux Club. Proxying p.1/24

06/02/ Local & Metropolitan Area Networks 0. INTRODUCTION. 1. History and Future of TCP/IP ACOE322

The World Wide Web. Internet

Uniform Resource Locators (URL)

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar

Lecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Announcements. The World Wide Web. Retrieving From the Server. Goals of Today s Lecture. The World Wide Web. POP3 Protocol

Protocols. Networking CS 3470, Section 1 Sarah Diesburg

How the Internet Works

Electronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol

CSC358 Week 2. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

1.1 A Brief Intro to the Internet

Outline. Computer Center, CS, NCTU. q Web hosting. q Proxy. Basics Client-Server architecture HTTP protocol Static vs. dynamic pages Virtual hosts

SIP Session Initiation Protocol

Web Systems & Technologies: An Introduction

Application Protocols and HTTP

Information About SIP Compliance with RFC 3261

Chapter 2 Application Layer

CCNA Exploration Network Fundamentals. Chapter 03 Application Functionality and Protocols

Web Architecture and Technologies

Networking Fundamentals

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Chapter 4: Networking and the Internet. Network Classifications. Network topologies. Network topologies (continued) Connecting Networks.

Lecture 3. HTTP v1.0 application layer protocol. into details. HTTP 1.0: RFC 1945, T. Berners-Lee HTTP 1.1: RFC 2068, 2616

Data Communication & Computer Networks MCQ S

Chapter 2 Application Layer

The World Wide Web. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim

Networking Fundamentals

Learning Objectives: IS Infrastructure: Standards and Protocols. Standards for Representing and Communicating Information. A Unified Framework

Caching. Caching Overview

Advanced Java Programming. Networking

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary

SC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers

Network Applications Principles of Network Applications

The Internet Advanced Research Projects Agency Network (ARPANET) How the Internet Works Transport Control Protocol (TCP)

Chapter 4. Internet Applications

Applications & Application-Layer Protocols: The Web & HTTP

TCP / IP. Isidro Martinez Director, Latin Amèrica

Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa

Transcription:

Web Technology COMP476 Networked Computer Systems - Paradigm The method of interaction used when two application programs communicate over a network. A server application waits at a known address and a client application contacts the server. The World Wide Web is an example of a client-server system using TCP/IP. Hypertext and Hypermedia The Web is a distributed hypermedia system that supports interactive access. A hypermedia system provides extensibility to a hypertext system by incorporating elements other than only text. A non-distributed system would be a closed network system (usually a single computer) where every link could be verified. Distributed systems are spread across many independent systems where links may become broken. Document Representation Web Documents use the HTML (Hyper Text 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 the details. Two browsers may display an HTML document differently.

HTML Format HTML pages are made up of HTML tags which give the page format and structure. The general format of a tag is: <TAGNAME> to start and </TAGNAME> to end Basic HTML format <HTML> <HEAD> <TITLE> a title </TITLE> </HEAD> <BODY> body of document here </BODY> </HTML> HTML Tags Links in HTML can appear as text or images that can be selected to redirect the browser. The general format for a link is: <A HREF = linkname.htm > to start and </A> to end Media can be incorporated into HTML using tags. The general format to insert an image is: <IMG SRC = imagename.gif > Other HTML tags can be used to control how these elements are formatted and related to one another. Types of Web Documents Web pages can come in a variety of forms. In general, any of these forms can be categorized as one of the following. 1. Static Web Documents - same file sent every request. 2. Dynamic Web Documents - program at the server creates a document and sends it to client. 3. Active Web Documents - program sent from server and run on the client.

Static Documents A static Web document resides in a file that is associated with a web server. The author of a static document determines the contents at the time the document is written. Because the contents do not change, each request for a static document results in exactly the same response. Example: Static web pages, FTP files. Dynamic Documents A dynamic Web document does not exist in a predefined form. They created by a Web server whenever a browser requests the document. When a request arrives, the Web server runs a program that creates the dynamic document. The server returns the output of the program as a response to the browser that requested the document. Because a fresh document is created for each request, the contents of a dynamic document can vary from one request to another. Example: CGI Dynamic Documents (CGI) Common Gateway Interface (CGI) is a standard defining how a program will interact with a server to generate dynamic documents. CGI can use any programming language and can generate any type of output. CGI output The CGI header indicates the type of document, such as: Content-type: text/html Location: /new/file.txt Parameters are passed in environment variables. Forms are web pages that send the contents of fields to an active document. Each field has a name. The browser sends the entered values to the server as: fieldname = value,field2=value2

Active Documents Active documents contain programs downloaded from the server to the browser and run on the clients machine. Examples: ActiveX and Java. Active Documents (Java) Java is the name of a specific technology (by Sun Microsystems) used to create and run active documents. In the case of java these documents are referred to as applets. Java applets include three key components. Programming Language can be used to make conventional programs or applets. Runtime Environment Provides the facilities to run a Java program. Class Library Makes applets easier to write. Browser Architecture Browser Architecture Web browsers are more complex in structure than Web servers. s handle relatively straightforward tasks in a repetitive manner. Browsers handle most of the details of document access and display. Browser functions The browser is made up of a controller, a set of clients and, and a set of interpreters. Each function of the browser has its own set of dedicated operations. Input from mouse and keyboard HTML Interpreter Controller HTML Optional Interpreter Network Interface Optional d r i v e r Data Path Control Path Output to display This example may show a better conceptualization of browser organization.

Optional s Browsers can perform other tasks besides interpreting HTML with an HTTP client. Many browsers include a built in FTP client. The client is typically invoked automatically. The protocol header appears as: ftp://ftp.university.edu/dir/file.exe Email client software is often built into browsers. Here the client is typically opened in a separate application from the browser. However features of the client are still very much intertwined to the browser interface. Streaming Media Streaming audio or video are graphics files embedded in an HTML document. Streaming media is displayed as it is received instead of waiting until the entire file is received. Most streaming media uses UDP. Cache Web browsers use a cache to improve document access and retrieval. Pages that are retrieved from a server a stored on the local disk. The disk cache is checked before retrieving the same item from the server Pages can contain an expiration date specifying when they must be refreshed. Hyper-Text Transfer Protocol Hyper-Text Transfer Protocol is the main request-response (client-server) protocol used to transfer web documents. HTTP is an application layer protocol using TCP. Other high level protocols for the Web include FTP and Telnet.

Web Document Transfer & HTTP When a browser interacts with a Web server, the two programs follow the Hyper-Text Transfer Protocol. HTTP allows a browser to request a specific item, which the server then returns. request HTTP Request Format The protocol sends requests and responses in ASCII characters that can easily be read. The request is always terminated by a blank line. The format of the request sent by a client browser (such as Mozilla or Internet Explorer) to a web server is: Method filename options CRLFCRLF HTTP/1.1 (Browser) reply Example HTML GET GET /mypage.html HTTP/1.1 HOST: williams.comp.ncat.edu This example requests the server to send the web page, mypage.html, to the client s browser. The browser has indicated that it is using version 1.1 of the protocol. Note that the request is terminated by two end of line characters( ). GET HEAD POST PUT DELETE OPTIONS TRACE HTTP Methods Get a file from the server. Get information about a file from the server. Send information to the server. Send a file to be stored on the server. Delete a file on the server. Request the available server options. Invoke a loop-back of the request message

Response The server responds with a status line, including the message's protocol version and a success or error code and possibly message content. HTTP/1.1 statuscode reason response options file contents Response Example HTTP/1.1 200 OK Date: Sun, 26 Nov 2000 23:48:00 GMT : Apache/1.3.6 (Win32) Last-Modified: 17 Nov 2000 12:51:44 Content-Length: 4683 Connection: close Content-Type: text/html <html> <head> etc. Status Codes Some of the status codes returned by the server are: 1xx: Informational 2xx: Success 200 OK 3xx: Redirection 301 Moved Permanently 304 Not Modified Status Codes (cont.) 4xx: Error 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 410 Gone 5xx: Error 500 Internal Error

Multiple Files Per Page A web page is usually composed of several files; the original HTML page and embedded graphic files. The web browser first retrieves the HTML file which specifies the additional files. Each file is retrieved separately using HTTP HTTP/1.0 Operations (get file) Create a socket. Connect to the server at port 80. Send a GET request to the server for the desired file Read request from new connection Send a header describing the file. Send the contents of the file. Close the connection. HTTP/1.0 Operations (get graphic) Create a socket. Connect to the server at port 80. Send a GET request to the server for the graphic file. * for each graphic referenced Receive request from new connection. Send header describing graphic file. Send the contents of the graphic file. Close the connection. HTTP/1.1 Operations Create a socket. Connect to the server at port 80. Send a GET request to the server for the desired file Send a header describing the file. Send the contents of the file. HTTP/1.1 provides for keeping a connection open to transfer multiple files.

HTTP/1.1 Operations (get graphic) Send a GET request on the existing server connection for the graphic file. HTTP Standards The Hyper-Text Transport Protocol is defined by RFC2616 and others of the Internet Engineering Task Force (IETF). * for each graphic referenced Send a header describing the graphic file over existing connection. Send the contents of the graphic file.