Application Example: WWW. Communication in the WWW. WWW, HTML, URL and HTTP. Loading of Web Pages. The Client/Server model is used in the WWW



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

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

Huffman Code. Information Theory

CPSC Network Programming. , FTP, and NAT.

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

1 Introduction: Network Applications

FTP and . Computer Networks. FTP: the file transfer protocol

CONTENT of this CHAPTER

Networking Applications

CSCI-1680 SMTP Chen Avin

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

Internet Technology 2/13/2013

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

Protocolo FTP. FTP: Active Mode. FTP: Active Mode. FTP: Active Mode. FTP: the file transfer protocol. Separate control, data connections

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

Electronic Mail

FTP: the file transfer protocol

CS43: Computer Networks . Kevin Webb Swarthmore College September 24, 2015

Network Services. SMTP, Internet Message Format. Johann Oberleitner SS 2006

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

Internet Technologies Internet Protocols and Services

Network Technologies

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?

HTTP. Internet Engineering. Fall Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

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

FTP: the file transfer protocol

Domain Name System (DNS)

, SNMP, Securing the Web: SSL

Remote login (Telnet):

DATA COMMUNICATOIN NETWORKING

Lecture 2. Internet: who talks with whom?

The Application Layer. CS158a Chris Pollett May 9, 2007.

Communication Systems Network Applications - Electronic Mail

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:

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

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

Sending MIME Messages in LISTSERV DISTRIBUTE Jobs

Simple Mail Transfer Protocol

Electronic mail security. MHS (Message Handling System)

HTTP Protocol. Bartosz Walter

1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; SMTP.

. MIME is the protocol that was devised to allow non-ascii encoded content in an and attached files to an .

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

. Daniel Zappala. CS 460 Computer Networking Brigham Young University

DATA COMMUNICATOIN NETWORKING

Terminology. Internet Addressing System

By Bardia, Patit, and Rozheh

Chakchai So-In, Ph.D.

Mail system components. Electronic Mail MRA MUA MSA MAA. David Byers

Introduction to Computer Security

Collax Mail Server. Howto. This howto describes the setup of a Collax server as mail server.

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

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

WHAT IS A WEB SERVER?

Introduction to Web Technology. Content of the course. What is the Internet? Diana Inkpen

The basic groups of components are described below. Fig X- 1 shows the relationship between components on a network.

Setting Up Scan to SMB on TaskALFA series MFP s.

Appendix. Web Command Error Codes. Web Command Error Codes

EE4607 Session Initiation Protocol

Applications and Services. DNS (Domain Name System)

Lecture 8a: WWW Proxy Servers and Cookies

MailEnable Web Mail End User Manual V 2.x

Advanced Higher Computing. Computer Networks. Homework Sheets

Telematics. 13th Tutorial - Application Layer Protocols

FTP Use. Internal NPS FTP site instructions using Internet Explorer:

Guide to Analyzing Feedback from Web Trends

The World Wide Web: History

Lecture 8a: WWW Proxy Servers and Cookies

FF/EDM Intro Industry Goals/ Purpose Related GISB Standards (Common Codes, IETF) Definitions d 4 d 13 Principles p 6 p 13 p 14 Standards s 16 s 25

IBM i. Networking . Version 7.2

FILE TRANSFER PROTOCOL INTRODUCTION TO FTP, THE INTERNET'S STANDARD FILE TRANSFER PROTOCOL

How To Understand The History Of The Web (Web)

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Management CSCU9B2 CSCU9B2 1

Issue 2EN. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation

Device Log Export ENGLISH

IxLoad Data Mail (SMTP, POP3, IMAP) Features

SSL VPN Technology White Paper

SIP: Protocol Overview

Fundamentals of the Internet 2009/ Explain meaning the following networking terminologies:

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

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

StreamServe Persuasion SP4 Connectors

You can do THAT with SAS Software? Using the socket access method to unite SAS with the Internet

Exchange Outlook Profile/POP/IMAP/SMTP Setup Guide

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

LabVIEW Internet Toolkit User Guide

Integrating Fax Sending Services

Using Avaya Aura Messaging

Application Layer Protocols

Description of Microsoft Internet Information Services (IIS) 5.0 and

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

Transcription:

Application Example WWW Communication in the WWW In the following application protocol examples for WWW and E-Mail World Wide Web (WWW) Access to linked documents, which are distributed over several computers in the History of the WWW Origin 1989 in the nuclear research laboratory CERN in Switzerland Developed to exchange data, figures, etc. between a large number of geographically distributed project partners via First text-based version in 1990 First graphic interface (Mosaic) in February 1993, developed on to Netscape, Explorer Standardization by the WWW consortium (http//www.w3.org) The Client/Server model is used in the WWW Client (a Browser) Presents the actually loaded WWW page Permits navigating in the network (e.g. through clicking on a hyperlink) Offers a number of additional functions (e.g. external viewer or helper applications) Usually, a browser can also be used also for other services (e.g. FTP, e-mail, news, ) Server Process which manages WWW pages. Is addressed by the client e.g. through indication of an URL (Uniform Resource Locator = logical address of a web page). The server sends the requested page (or file) back to the client. Page 1 Page 2 WWW, HTML, URL and HTTP Loading of Web Pages WWW stands for World Wide Web and means the world-wide cross-linking of information and documents the is like a distributed application for document management Each web page is addressed by a unique URL (Uniform Resource Locator) (e.g. http//www-i4.informatik.rwth-aachen.de/education/tcpip). The standard language for web documents is the HyperText Markup Language (HTML) The standard protocol used between a web server and a web client is the HyperText Protocol (HTTP). uses the TCP port 80 defines the allowed requests and responses is an ASCII protocol That is HTTP establishes a TCP connection and downloads documents (web pages) from a server in ASCII format DNS server Browser PC TCP/IP network WWW server Browser asks DNS for the IP address of the server DNS answers Browser opens a TCP connection to port 80 of the computer Browser sends the command GET /info/general.html WWW server sends back the file general.html Connection is terminated Page 3 Page 4

Loading of Web Pages Example Call of the URL http//www.informatik.rwth-aachen.de/material/general.html 1. The Browser determines the URL (which was clicked or typed). 2. The Browser asks the DNS for the IP address of the server www.informatik.rwthaachen.de. 3. DNS answers with 137.226.116.241. 4. The browser opens a TCP connection to port 80 of the computer 137.226.116.241 5. Afterwards, the browser sends the command GET /material/general.html 6. The WWW server sends back the file general.html. 7. The connection is terminated. 8. The browser analyzes the WWW page general.html and presents the text. 9. If necessary, each picture is reloaded over a new connection to the server (The address is included in the page general.html in form of an URL). Note! Step 9 applies only to HTTP/1.0! With the newer version HTTP/1.1 all referenced pictures are loaded before the connection termination (more efficiently for pages with many pictures). Page 5 HTTP Abstract Format command URL GET http//server.name/path/file.type protocol HTTP server domain name path name file name GET http// www.informatik.rwth-aachen.de / info / general.html Instructions on a URL are e.g. GET Load a web page HEAD Load only the header of a web page PUT Store a web page on the server POST Append something to the request passed to the web server DELETE Delete a web page Page 6 HTTP Request Header HTTP Response Header method sp URL sp version cr lf header field name calue cr lf cr lf Data sp space cr/lf carriage return/line feed Request line necessary part, e.g. GET server.name/path/file.type Header lines optionally, further information to the host/document, e.g. Host www.rwth-aachen.de Accept-language fr -agent Opera /5.0 Entity Body optionally. Further data, if the Client transmits data (POST method) version sp status code sp phrase cr lf cr lf Data Entity Body inquired data HEAD method the server answers, but does not transmit the inquired data (e.g. used if caching is applied) Status LINE status code and phrase indicate the result of an inquiry and an associated message, e.g. 200 OK 400 Bad Request 404 Not Found Groups of status messages 1xx Only for information 2xx Successful inquiry 3xx Further activities are necessary 4xx Client error (syntax) 5xx Server error Page 7 Page 8

Identification Cookies Problem with HTTP stateless protocol An HTTP session corresponds to one TCP connection. After the connection is terminated, the web server forgets everything about the request. Simple principle, enough for browsing But modern principles like online shops? Storing information about related sessions? Solution new header field Set-cookie Instructs client to store the received cookie together with the server name and fill it in its own header in following requests to that server. Thus the server is able to identify related requests Cookie content name-value pair defined by the server for identification optional name-value pairs for e.g. comments, date, TTL Proxy Server A Proxy is an intermediate entity used by several browsers. It takes over tasks of the browsers (complexity) and servers for more efficient page loading! HTTP Browser HTTP Browser HTTP Browser Proxy Server Server e.g. HTTP Caching of WWW pages A proxy temporarily stores the pages loaded by browsers. If a page is requested by a browser which already is in the cache, the proxy controls whether the page has changed since storing it (sending a HEAD request to the server). If not, the page can be passed back from the cache. If yes, the page is normally loaded from the server and again stored in the cache, replacing the old version. Integration into a Firewall The proxy can deny the access to certain web pages (e.g. in schools) Page 9 Page 10 Electronic Mail E-Mail Electronic Mail E-Mail Early systems A simple file transmission took place, with the convention that the first line contains the address of the receiver of the file Problems E-Mail to groups, structuring of the e-mail, delegation of the administration to a secretary, file editor as user interface, no mixed media Solution X.400 as standard for e-mail transfer. This specification was however too complex and badly designed. Generally accepted only became a simpler system, cobbled together by a handful of computer science students the Simple Mail Protocol (SMTP) An e-mail system generally consists of two subsystems (UA, normal e-mail program) Usually runs on the computer of the user and helps during the processing of e-mails Creation of new and answering of old e-mail Receipt and presentation of e-mail Administration of received e-mail (MTA, e-mail server) Usually runs in the background (around the clock) Delivery of e-mail which is sent by s Intermediate storage of messages for users or other s Page 11 Page 12

Structure of an E-Mail For sending an e-mail, the following information is needed from the user (usually normal text + attachments, e.g. word file, GIF image ) Destination address (in general in the form mailbox@location, e.g. thissen@informatik.rwth-aachen.de) Possibly additional parameters concerning e.g. priority or security E-Mail formats two used standards RFC 2822 MIME (Multipurpose Mail Extensions) With RFC 2822 an e-mail consists of a simple envelope (created by the based on the data in the e-mail header), a set of header fields (each one line ASCII text), a blank line, and the actual message ( Body). E-Mail Header To Cc Bcc Header From Sender Received Meaning Address of the main receiver (possibly several receivers or also a mailing list) Carbon copy, e-mail addresses of less important receivers Blind carbon copy, a receiver which is not indicated to the other receivers Person who wrote the message Address of the actual sender of the message (possibly different to From person) One entry per on the path to the receiver Return Path Path back to the sender (usually only e-mail address of the sender) Date Reply to Transmission date and time E-Mail address to which answers are to be addressed -Id Clear identification number of the e-mail (for later references) In-Reply-to -Id of the message to which the answer is directed References Other relevant -Ids Subject One line to indicate the contents of the message (is presented the receiver) Page 13 Page 14 E-Mail Header RFC 2822 only suitably for messages of pure ASCII text without special characters. Nowadays demanded additionally E-Mail in languages with special characters (e.g. French or German) E-Mail in languages not using the Latin alphabet (e.g. Russian) E-Mail in languages not at all using an alphabet (e.g. Japanese) E-Mail not completely consisting of pure text (e.g. audio or video) MIME keeps the RFC-2822 format, but additionally defines a structure in the Body (by using additional headers), and coding rules for non-ascii characters Header Meaning MIME-Version Content-Description Content-Id Content-- Encoding Content-Type Used version of MIME is marked String which describes the contents of the message Clear identifier for the contents Coding which was selected for the contents of the email (some networks understand e.g. only ASCII characters). Examples base64, quoted-printable Type/Subtype regarding RFC 1521, e.g. text/plain, image/jpeg, multi-part/mixed MIME MIME-Version 1.0 Content-Type MULTIPART/MIXED; BOUNDARY= "8323328-2120168431-824156555=325" --8323328-2120168431-824156555=325 Content-Type TEXT/PLAIN; charset=us-ascii A picture is in the appendix --8323328-2120168431-824156555=325 Content-Type IMAGE/JPEG; name="picture.jpg" Content--Encoding BASE64 Content-ID <PINE.LNX.3.91.960212212235.325B@localhost> Content-Description /9j/4AAQSkZJRgABAQEAlgCWAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQIBAQEBA QIBAQECAgICAgICAgIDAwQDAwMDAwICAwQDAwQEBAQEAgMFBQQEBQQEBAT/ 2wBDAQEBAQEBAQIBAQIEAwIDBAQEBA [ ] KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAD//Z ---8323328-2120168431-824156555=325 Page 15 Page 16

E-Mail over POP3 and SMTP Simple Mail Protocol (SMTP) Sending e-mails over a TCP connection (port 25) SMTP is a simple ASCII protocol Without checksums, without encryption Receiving machine is the server and begins with the communication If the server is ready for receiving, it signals this to the client. This sends the information from whom the e-mail comes and who the receiver is. If the receiver is known to the server, the client sends the message, the server confirms the receipt Post Office Protocol version 3 (POP3) Get e-mails from the server over a TCP connection, port 110 Commands for logging in and out, message download, deleting messages on the server (maybe without transferring them to the client) Only copies e-mails of the remote server to the local system E-Mail over POP3 and SMTP 1 writes an e-mail Client 1 (UA 1) formats the e-mail, produces the receiver list, and sends the e-mail to its mail server (MTA 1) Server 1 (MTA 1) Sets up a connection to the SMTP server (MTA 2) of the receiver and sends a copy of the e-mail Server (MTA 2) Produces the header of the e-mail and places the e-mail into the appropriate mailbox Client 2 (UA 2) sets up a connection to the mail server and authenticates itself with username and password (unencrypted!) Server (MTA 2) sends the e-mail to the client Client 2 (UA 2) formats the e-mail 2 reads the e-mail SMTP POP3 SMTP Page 17 Page 18 SMTP - Command Sequence POP3 Communication between partners (from abc.com to beta.edu) in text form of the following kind S 220 <beta.edu> Service Ready /* Receiver is ready/* C HELO <abc.com> /* Identification of the sender/* S 250 <beta.edu> OK /* Server announces itself */ C MAIL FROM<Krogull@abc.com> /* Sender of the e-mail */ S 250 OK /* Sending is permitted */ C RCPT TO<Bolke@beta.edu> S 250 OK S = server, receiving MTA / C = Client, sending MTA /* Receiver of the e-mail */ /* Receiver known */ C DATA /* The data are following */ S 354 Start mail inputs; end with <crlf>.<crlf> on a line by itself C From Krogull@. <crlf>.<crlf> /* of the whole e-mail, including all headers */ S 250 OK C QUIT /* Terminating the connection */ S 221 <beta.edu> Server Closing Page 19 Get e-mails from the server by means of POP3 Client (UA) PC TCP/IP network TCP connection port 110 Greetings Commands Replies POP3 Server (MTA) Minimal protocol with only two command types Copy e-mails to the local computer Delete e-mails from the server Authorizing phase USER name PASS string Transaction phase STAT LIST [msg] RETR msg DELE msg NOOP RSET QUIT Page 20

POP3 Protocol Authorizing phase user identifies the user pass is its password +OK or -ERR are possible server answers Transaction phase list for the listing of the message numbers and the message sizes retr to requesting a message by its number dele deletes the appropriate message S +OK POP3 server ready C user alice S +OK C pass hungry S +OK user successfully logged in C list S 1 498 S 2 912 S. C retr 1 S <message 1 contents> S. C dele 1 C retr 2 S <message 2 contents> S. C dele 2 C quit S +OK Page 21 IMAP as POP3 Variant Enhancement of POP3 IMAP (Interactive Mail Access Protocol) TCP connection over port 143 E-Mails are not downloaded and stored locally, but remain on the server The client performs all actions remotely. This is suitable for users who need access to their e-mails from different hosts Protocols are more complex than with POP3 set up and manage remote mailboxes Meanwhile also many operators of web pages offer email services gmx, web.de, yahoo, Here finally again HTTP serves as protocol for the access to the e-mails. The management is similar as with IMAP, only that the client is integrated into the web server. Page 22 Conclusion Application protocols in the handle the functionality of layer 5 7 of the OSI reference model are unaware of the network, focusing on application-related tasks define syntax, semantics, and order of exchanged messages for certain applications This lecture was about communication basics; what s next? Mobile Communications network and protocol variants for radio transmission (WS 08/09) Distributed Systems general application layer protocols, cooperation of application processes as addition to communication, support of developing distributed applications using middleware (SS 08) Modeling and Evaluation of Communication Systems methods for analytic evaluation of new systems or protocols before implementation (SS 08) Simulation simulative evaluation as addition to analytic evaluation (SS 08) Security in Communication Networks security-related aspects of communication, e.g. encryption, authentication, anonymity, (?) Multimedia Systems media formats and coding, quality of service mechanisms, and transfer/storage of multimedia data (?) Page 23