Lecture 2. Internet: who talks with whom?



Similar documents
1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment?

Connecting with Computer Science, 2e. Chapter 5 The Internet

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007

Network Technologies

Basic Internet programming Formalities. Hands-on tools for internet programming

Web Development. How the Web Works 3/3/2015. Clients / Server

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP Abstract Message Format. The Client/Server model is used:

1 Introduction: Network Applications

Web Browsing Examples. How Web Browsing and HTTP Works

World Wide Web. Before WWW


Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ MEng. Nguyễn CaoĐạt

Network: several computers who can communicate. bus. Main example: Ethernet (1980 today: coaxial cable, twisted pair, 10Mb 1000Gb).

SWE 444 Internet and Web Application Development. Introduction to Web Technology. Dr. Ahmed Youssef. Internet

Computer Networks. Lecture 7: Application layer: FTP and HTTP. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture # Apache.

The Web: some jargon. User agent for Web is called a browser: Web page: Most Web pages consist of: Server for Web is called Web server:

Internet Technologies_1. Doc. Ing. František Huňka, CSc.

Application-layer protocols

Application Monitoring using SNMPc 7.0

2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET)

Web Design and Development ACS-1809

Lab - Observing DNS Resolution

End User Guide The guide for /ftp account owner

Talk Internet User Guides Controlgate Administrative User Guide

Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT)

Web Application Development

APACHE WEB SERVER. Andri Mirzal, PhD N

An Introduction To The Web File Manager

Application Layer -1- Network Tools

Lesson 7 - Website Administration

ICT 6012: Web Programming

Chapter 6 Configuring the SSL VPN Tunnel Client and Port Forwarding

WEB DATABASE PUBLISHING

Introduction to LAN/WAN. Application Layer (Part II)

Remote Console Installation & Setup Guide. November 2009

lesson 19 Internet Basics

Pemrograman Web. 1. Pengenalan Web Server. M. Udin Harun Al Rasyid, S.Kom, Ph.D

M3-R3: INTERNET AND WEB DESIGN

Web Programming. Robert M. Dondero, Ph.D. Princeton University

2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET)

echomountain Enterprise Monitoring, Notification & Reporting Services Protect your business

HP Web Jetadmin Database Connector Plug-in reference manual

Web Technologies Week 4 Hosting, Servers and Databases. Context. Contents. MSc in Computing Computing - IBITE Liverpool Hope University College

Data Communication I

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP - Message Format. The Client/Server model is used:

IP addresses. IP addresses: IPv4: 32 bits:

Internet Information TE Services 5.0. Training Division, NIC New Delhi

Network Configuration Settings

Web Hosting and Domain Name Registration

Terminology. Internet Addressing System

The World Wide Web: History

ERIE COMMUNITY COLLEGE COURSE OUTLINE A. COURSE TITLE: CS WEB DEVELOPMENT AND PROGRAMMING FUNDAMENTALS

E-commerce. Web Servers Hardware and Software

LabVIEW Internet Toolkit User Guide

Oct 15, Internet : the vast collection of interconnected networks that all use the TCP/IP protocols

Installing The SysAidTM Server Locally

Using SAP Logon Tickets for Single Sign on to Microsoft based web applications

Product Standard General Interworking: Internet Server

Chapter 1: General Introduction What is IIS (Internet Information Server)? IIS Manager: Default Website IIS Website & Application

Introduction to Computer Networks

CITS1231 Web Technologies. Client, Server, the Internet, and the Web

By : Khalid Alfalqi Department of Computer Science, Umm Al-Qura University

4. Client-Level Administration

Web Pages. Static Web Pages SHTML

E-Commerce for IT Advanced. Louis Aguila & Matt Burt

LESSON Networking Fundamentals. Understand TCP/IP

Chapter 21 Web Servers

Instructor: Betty O Neil

Transferring Your Internet Services

Quick Scan Features Setup Guide

File Transfer Protocol (FTP) & SSH

Chapter 2 Application Layer. Lecture 5 FTP, Mail. Computer Networking: A Top Down Approach

Lab - Observing DNS Resolution

Application Layer. CMPT Application Layer 1. Required Reading: Chapter 2 of the text book. Outline of Chapter 2

Proxies. Chapter 4. Network & Security Gildas Avoine

HP Education Services

Introduction to web development

CONTENT of this CHAPTER

Web Hosting Features. Small Office Premium. Small Office. Basic Premium. Enterprise. Basic. General

Service Level Agreement

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Quick Scan Features Setup Guide. Scan to Setup. See also: System Administration Guide: Contains details about setup.

Application layer Web 2.0

Web Application Threats and Vulnerabilities Web Server Hacking and Web Application Vulnerability

VP-ASP Shopping Cart QUICK START GUIDE Version th Feb 2010 Rocksalt International Pty Ltd

Creating an Intranet Website for Library & Information Services in an Organization

S y s t e m A r c h i t e c t u r e

CISC 1600 Introduction to Multi-media Computing

LIS 534 Lab: Internet Basics

Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview

The Web History (I) The Web History (II)

Transcription:

Lecture 2. Internet: who talks with whom? An application layer view, with particular attention to the World Wide Web

Basic scenario Internet Client (local PC) Server (remote host) Client wants to retrieve a web page. What happens?

What is a page on the web? a resource (i.e. a file), specified by a URL: Uniform Resource Locator. e.g. my home page: HTTP://www.tti.unipa.it/~vincenzo/index.html

The three components of an URL 1. Protocol (also called scheme ) how can a page be accessed? (application protocol used) http://cerbero.elet.polimi.it/people/bianchi/index.html 2. Host name Where is the page located? (symbolic or numeric location) http://cerbero.elet.polimi.it/people/bianchi/index.html 3. File (resource) name What is the page called? (with full path) http://cerbero.elet.polimi.it/people/bianchi/index.html

1. Protocol HTTP: the protocol of the WWW version 1.0, RFC 1945, may 1996 version 1.1, RFC 2068 (jan97), obsoleted by RFC 2616 (jun99), updated by RFC 2817 (may00) many other protocols may be specified on the browser command line: FTP: file transfer protocol TELNET: opens a telnet window FILE: access local file NEWS: Usenet Newsgroups...etc

2. Location host name Specifies where is the page located: on which host Humans understand names; Machines prefer numbers! Domain Name System (DNS) protocol:» translates names in numbers www.elet.polimi.it DNS 131.175.120.33

3. File names (several shortcuts handled server side) page name non mandatory http://cerbero.elet.polimi.it/people/bianchi/ http://www.yahoo.com http://www.sun.com/products Unix style user id shortcuts http://www.cs.columbia.edu/~hgs Various page extensions (with server side meaning: no client side interpretation!) *.htm *.html *.asp *.jsp *.php..

Case sensitivity Protocol: non case-sensitive Location: non case-sensitive File name: case-sensitive http://cerbero.elet.polimi.it/people/bianchi/index.html equal to Http://Cerbero.Elet.PoliMi.it/people/bianchi/index.html different from http://cerbero.elet.polimi.it/people/bianchi/index.html

Refined scenario Client (local PC) Client wants to retrieve a remote resource: /people/bianchi/index.html On the server cerbero.elet.polimi.it By using the application layer protocol http What happens? Server (remote host)

Being more precise Who is the client? The web browser Who is the server? The web server What is the Networking application? The WWW What is the application layer protocol? HTTP A more precise communication model: Software Process (browser) Client (local PC) Internet Software Process (web server) Server (remote host)

Networking Application vs Application Layer Protocol Networking application software processes on possibly different end-systems An application-layer layer that communicate each other protocol: is only one by exchanging messages piece (although( a big Application Layer Protocol piece!!) of a network define format of messages application define order of messages exchanged define actions taken on receipt of a message

What is a protocol A protocol defines the format and the order of messages exchange among some entities (two or more), as well as the actions related to the transmission and reception of such messages (Jim Kurose)

Example: : the WWW application many components, including: standard for document formats HTML & HTML interpreters Web browsers Netscape Navigator, Internet Explorer, Lynx, Opera, Web servers Apache, Microsoft and Netscape servers, Back-end DB connectivity, programming/scripting languages Public domain (e.g. MYSQL) or commercial (Oracle, ) ODBC, JDBC DB connectivity ASP, JSP, PHP scripting embedded in html; CGI, NSAPI, ISAPI to connect to external program An application-layer protocol the HyperText Transfer Protocol (HTTP)

Application-layer layer protocol vs networking application Example2: Internet electronic mail application. Components: mail servers that house user mailboxes mail readers that allow users to read and create messages a standard for defining the structure of an email message (i.e., MIME) application-layer protocols (the principal is SMTP, Simple Mail Transfer Protocol, RFC 821) that define: how messages are passed between servers how messages are passed between servers and mail readers how contents of certain parts of the mail message (e.g., header) are to be interpreted.

Hypertext Transfer Protocol (HTTP) a Client-Server protocol a Request-Response protocol request Client software process: Web browser response Server software process: Web server

Client-Server approach Network application protocol divided into two parts (sides): client side: asks server side: responds HTTP:» Server = web server» Client = browser Telnet, FTP, SMTP:» host acts as both a client and a server at the same time» conventionally, host that initiates the session is labeled the client.

Addressing software processes Inside the same machine: an Operating Systems issue By process name? Process ID? how????? Software Software Process B Process A Windows NT PC Unix SunOS WS WMS server - Different OSs = different process naming!

Addressing SW processes very old solution adopted in most OS Use numeric value Register Unique identifier e.g. Numeric values from 1 to 65535 Register Unique identifier To talk each other, the SW processes need to know their numeric Values.

Port numbers the address of the SW process inside the computer!

Same addressing scheme works for different machines!! Want to talk to application process that resides at port X on computer Y Port number X Computer address Y

Re-understanding URLs HTTP://cerbero.elet.polimi.it/people/bianchi/index.html protocol location Filename HTTP request Web browser HTTP response Web server Web browser (SW process) needs to send HTTP Request to Web Server. Location not enough (it is just the computer address!)

Addressing web servers: (wrong)) idea HTTP://cerbero.elet.polimi.it/. protocol location Filename Location = computer address! Protocol = SW process address (HTTP = goto Web Server). No need for port numbers?? What if more than one Web Server installed???

URL structure (corrected!) HTTP://cerbero.elet.polimi.it : portnumber/. protocol location Filename Default value for HTTP: 80 HTTP://cerbero.elet.polimi.it/ equal to HTTP://cerbero.elet.polimi.it:80/ different from HTTP://cerbero.elet.polimi.it:8080/ (if exists!)

URL semantics finally Client Server web browser Web server Client, via a web browser, wants to retrieve a remote resource: /people/bianchi/index.html From an application sw program, the web server, whose address is 131.175.15.1 : 80 Where, for convenience, client uses the DNS name instead: cerbero.elet.polimi.it : 80 Retrieval will occur using the application layer protocol rules named http What happens?