Definitions, Definitions, Definitions Lead to Understanding.

Slides:



Advertisements
Similar presentations
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
Advertisements

DT228/3 Web Development WWW and Client server model.
PART 6 Application Layer
Hypertext Transfer Protocol Kyle Roth Mark Hoover.
1 HTTP – HyperText Transfer Protocol Part 1. 2 Common Protocols In order for two remote machines to “ understand ” each other they should –‘‘ speak the.
The Web The World Wide Web What does it do?.
How the web works: HTTP and CGI explained
HTTP Presented By: Holly Mortinson Amy Drout Kyle Balmer & Matt Conklin.
Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July.
Web, HTTP and Web Caching
1 K. Salah Module 2.1: Application Layer Application-level protocols provide high-level services –Web and HTTP –DNS –Electronic mail –Remote login –FTP.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
2/9/2004 Web and HTTP February 9, /9/2004 Assignments Due – Reading and Warmup Work on Message of the Day.
Hypertext Transport Protocol CS Dick Steflik.
Client, Server, HTTP, IP Address, Domain Name. Client-Server Model Client Bob Yahoo Server yahoo.com/finance.html A text file named finance.html.
 What is it ? What is it ?  URI,URN,URL URI,URN,URL  HTTP – methods HTTP – methods  HTTP Request Packets HTTP Request Packets  HTTP Request Headers.
INTRODUCTION TO WEB DATABASE PROGRAMMING
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
1 HTML and CGI Scripting CSC8304 – Computing Environments for Bioinformatics - Lecture 10.
Comp2513 Forms and CGI Server Applications Daniel L. Silver, Ph.D.
FTP (File Transfer Protocol) & Telnet
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
TCP/IP Protocol Suite 1 Chapter 22 Upon completion you will be able to: World Wide Web: HTTP Understand the components of a browser and a server Understand.
Application Layer 2 Figures from Kurose and Ross
Rensselaer Polytechnic Institute Shivkumar Kalvanaraman, Biplab Sikdar 1 The Web: the http protocol http: hypertext transfer protocol Web’s application.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
Maryam Elahi University of Calgary – CPSC 441.  HTTP stands for Hypertext Transfer Protocol.  Used to deliver virtually all files and other data (collectively.
1 Computer Communication & Networks Lecture 28 Application Layer: HTTP & WWW p Waleed Ejaz
Copyright (c) 2010, Dr. Kuanchin Chen1 The Client-Server Architecture of the WWW Dr. Kuanchin Chen.
HTTP HTTP stands for Hypertext Transfer Protocol. It is an TCP/IP based communication protocol which is used to deliver virtually all files and other.
Web HTTP Hypertext Transfer Protocol. Web Terminology ◘Message: The basic unit of HTTP communication, consisting of structured sequence of octets matching.
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 7: HTTP and CGI Fundamentals of Web Programming.
1 Welcome to CSC 301 Web Programming Charles Frank.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
CIS679: Lecture 13 r Review of Last Lecture r More on HTTP.
Web Technologies Interactive Responsiveness Function Hypertext Web E-Publishing Simple Response Web Fill-in Forms Object Web « Full-Blown » Client/Server.
WWW: an Internet application Bill Chu. © Bei-Tseng Chu Aug 2000 WWW Web and HTTP WWW web is an interconnected information servers each server maintains.
Appendix E: Overview of HTTP ©SoftMoore ConsultingSlide 1.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Operating Systems Lesson 12. HTTP vs HTML HTML: hypertext markup language ◦ Definitions of tags that are added to Web documents to control their appearance.
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP.
Web Technologies Lecture 1 The Internet and HTTP.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
Web Services. 2 Internet Collection of physically interconnected computers. Messages decomposed into packets. Packets transmitted from source to destination.
Fall 2000C.Watters1 World Wide Web and E-Commerce Servers & Server Side Processing.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
EE 122: Lecture 21 (HyperText Transfer Protocol - HTTP) Ion Stoica Nov 20, 2001 (*)
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Overview of Servlets and JSP
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 7 Omar Meqdadi Department of Computer Science and Software Engineering University of.
EEC-484/584 Computer Networks Lecture 4 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Computer Network Architecture Lecture 6: OSI Model Layers Examples 1 20/12/2012.
COMP2322 Lab 2 HTTP Steven Lee Jan. 29, HTTP Hypertext Transfer Protocol Web’s application layer protocol Client/server model – Client (browser):
Week 11: Application Layer 1 Web and HTTP r Web page consists of objects r Object can be HTML file, JPEG image, Java applet, audio file,… r Web page consists.
1 Chapter 22 World Wide Web (HTTP) Chapter 22 World Wide Web (HTTP) Mi-Jung Choi Dept. of Computer Science and Engineering
Fall 2000C.Watters1 World Wide Web and E-Commerce Servers & Server Side Processing.
National College of Science & Information Technology.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Tiny http client and server
Block 5: An application layer protocol: HTTP
WWW and HTTP King Fahd University of Petroleum & Minerals
Web Development Web Servers.
Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Computer Communication & Networks
EE 122: HyperText Transfer Protocol (HTTP)
Presentation transcript:

Definitions, Definitions, Definitions Lead to Understanding

Background TCP/IP from Lecture 1

Sources Webopedia Web Monkey Etc.

Want to define CGI HTTP Comparison of HTTP/1.0 and HTTP1.1 We’ll do some preliminary defintions first

 CGI Client/Server Architecture A network architecture in which each computer or process on the network is either a client or a server Client An application that runs on a personal computer or workstation. Relies on a server. Server A computer or device on a network that manages network resources (e.g., file server, web server, print server etc.)

 CGI Protocol An agreed-upon format for transmitting data between two devices. The protocol determines the following: the type of error checking to be used data compression method, if any how the sending device will indicate that it has finished sending a message how the receiving device will indicate that it has received a message

 CGI Web Server A computer that delivers (serves up) Web Pages Servlet Small program that runs on a server. Usually refers to a Java applet that runs within a Web server environment. Analogous to a Java applet that runs within a Web browser environment

 CGI API application program interface: set of routines, protocols, and tools for building software applications

 CGI  Common Gateway Interface Specification for transferring information between a WWW Server and a CGI program. CGI program any program designed to accept and return data that conforms to the CGI specification.

 CGI  CGI program Most common way (still – even with Javascript & PHP in increasing use!) for web servers to interact dynamically with users. HTML pages with forms often use CGI to process the form’s data. Server-side!

 CGI  Drawbacks Each time CGI script executed, a new process is started – can slow down the server. Servlets, API faster

 HTTP Communications protocol. Defines the following: rate of transmission (in baud or bps) whether transmission is to be synchronous or asynchronous whether data is to be transmitted in half- duplex or full-duplex mode...and others...

 HTTP State The last-known or current status of an application or a process. Maintaining state and/or managing state refer to keeping track of the condition of the process.

 HTTP Stateless (Sounds lonely!) Having no information about what occurred previously. Most modern applications maintain state, which means that they remember what you were doing last time you ran the application, and they remember all your configuration settings.

 HTTP Stateless CONT. The Internet is intrinsically stateless because each request for a new Web page is processed without any knowledge of previous pages requested.. Because maintaining state is extremely useful, programmers have developed a number of techniques to add state to the World Wide Web. These include server APIs, and the use of cookies.

 HTTP Socket BSD method for accomplishing interprocess communication (IPC). What this means is a socket is used to allow one process to speak to another, very much like the telephone is used to allow one person to speak to another.

 HTTP  Hypertext Transfer Protocol Underlying protocol used by WWW Defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands Entering a URL sends an HTTP command to the Web server Uses TCP

 HTTP  Also Stateless Considered a Shortcoming New technologies (Javascript, cookies, etc.) address this shortcoming

 HTTP  Used to transmit resources (file, output of a CGI script,...) Steps: Client opens a connection and sends a Request message to an HTTP server 2. Server returns a Response message, often containing resource requested. 3. Server closes connection (HTTP stateless)

 HTTP  Format of Requests and Responses similar: Initial line Zero or more header lines Blank line ( ) An optional message –A file, output,...

 HTTP  Header Lines Provide information about the request or response or about object in message body Header1: Something, something else... Examples: From: User-Agent: Server: Last Modified:

 HTTP  HTTP message: Initial line : different for Request and Response Header1: Value1 Header2: Value2 Header3: Value3 Optional message –File contents, output: Can be many lines long

 HTTP  Initial line: Requests: GET /path/to/file/filename HTTP/1.0 Says “Get me this resource Also could be POST (sends data to server) or HEAD (tells server to return response headers only) Initial line: Response HTTP/ OK HTTP/ File Not Found HTTP/ Server Error

 HTTP  Proxy: Program that acts as an intermediary between a client and a server Receives requests from clients Forwards requests to servers Passes back the same way Often used for firewalls: Requests sent to proxy, not directly to server With a proxy, GET includes the complete URL

 HTTP  Example To retrieve file at: Step 1 a socket opened to port 80 Step 2 Through the socket is sent: Get path/file.html HTTP/1.0 From: User-Agent: HTTPTool/1.0 [Blank line] Step 3 (Server Response) Through the socket is sent: HTTP/ OK Date Tues, 11 Feb :59:59 Content-Type: text/html Content-Length

 HTTP  To see some HTTP, use the non-graphical browser lynx: Type lynx -mime_header some URL | more at the command prompt

 CGI Revisted  CGI Used in order for information passed from the client to the server using HTTP to be processed by a program running on the Server. CGI a protocol that defines how data is to be passed between a web server and a CGI application. CGI defines a set of environment variables used to pass the data. CGI variables may be set on the cient side using Javascript.

 HTTP/1.0 & HTTP 1.1  Differences HTTP/1.1 Maintains client-server state by allowing persistent connections. One TCP connection can be reused for multiple HTTP transactions HTTP/1.0 Stateless. Each HTTP transaction creates its own TCP connection. HTTP/1.1 Requires Host: in Header HTTP/1.0 No Header Fields required

 HTTP/1.0 & HTTP 1.1  Differences HTTP/1.1 New Features: Improved caching:Original server (if resources passed along) decides what can be cached Persistent Connections Chunked encoding: Server breaks response into smaller chunks and sends them in series Host: Required in Header of Request... See protocols/key/key.htmlhttp://www8.org/w8-papers/5c protocols/key/key.html