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

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

Introduction to Internet, Web, and TCP/IP Protocols SEEM

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

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

1.1 A Brief Intro to the Internet

Contents. Topics. 01. WWW 02. WWW Documents 03. Web Service 04. Web Technologies. Management of Technology. C01-1. Documents

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

1.1 A Brief Intro to the Internet

World Wide Web. Before WWW

COSC 2206 Internet Tools. The HTTP Protocol

Internet applications

Network Applications and the Web

Applications & Application-Layer Protocols: The Web & HTTP

HTTP Reading: Section and COS 461: Computer Networks Spring 2013

HTTP, circa HTTP protocol. GET /foo/bar.html HTTP/1.1. Sviluppo App Web 2015/ Intro 3/3/2016. Marco Tarini, Uninsubria 1

CMPE 151: Network Administration. Servers

1.1 A Brief Intro to the Internet

Outline of Lecture 3 Protocols

The World Wide Web. Internet

2. Introduction to Internet Applications

Computer Networks. Wenzhong Li. Nanjing University

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

TCP/IP Networking Basics

Internet Architecture. Web Programming - 2 (Ref: Chapter 2) IP Software. IP Addressing. TCP/IP Basics. Client Server Basics. URL and MIME Types HTTP

Web Design and Development ACS-1809

Networking. INFO/CSE 100, Spring 2006 Fluency in Information Technology.

Announcements Fawzi Emad, Computer Science Department, UMCP

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

EEC-682/782 Computer Networks I

Announcements Fawzi Emad, Computer Science Department, UMCP

How the Internet Works

CSCI-1680 WWW Rodrigo Fonseca

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

Application Level Protocols

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

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted

HTTP Protocol and Server-Side Basics

EE 122: HyperText Transfer Protocol (HTTP)

Web History. Systemprogrammering 2006 Föreläsning 9 Web Services. Internet Hosts. Web History (cont) 1945: 1989: Topics 1990:

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

Giving credit where credit is due

Application Protocols and HTTP

Fachgebiet Technische Informatik, Joachim Zumbrägel

CSE 333 Lecture HTTP

WWW: the http protocol

Hypertext Transport Protocol

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted

Introduc)on to Computer Networks

ECE697AA Lecture 2. Today s lecture

CSCI-1680 WWW Rodrigo Fonseca

How to work with HTTP requests and responses

UFCEKG Lecture 2. Mashups N. H. N. D. de Silva (Slides adapted from Prakash Chatterjee, UWE)

Programming the Web 06CS73 INTRODUCTION AND OVERVIEW. Dr. Kavi Mahesh, PESIT, Bangalore. Textbook: Programming the World Wide Web

The Internet The Internet

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

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

Internet Content Distribution

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

What You Will Learn Today

Analysis of the effects of removing redundant header information in persistent HTTP connections

C22: Browser & Web Server Communication

WWW Document Technologies

Introduction to HTTP. Jonathan Sillito

World Wide Web, etc.

From administrivia to what really matters

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

Web, HTTP and Web Caching

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

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

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017

TCP/IP Networking An Example

Global Servers. The new masters

Web Engineering (Lecture 01)

Network Applications and the Web

Traditional Internet Applications

Adaptable and Adaptive Web Information Systems. Lecture 1: Introduction

Databases and Internet Applications

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.

Uniform Resource Locators (URL)

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

Web. Computer Organization 4/16/2015. CSC252 - Spring Web and HTTP. URLs. Kai Shen

CSE 333 Lecture HTTP

UR what? ! URI: Uniform Resource Identifier. " Uniquely identifies a data entity " Obeys a specific syntax " schemename:specificstuff

COSC4377. Chapter 2: Outline

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

CS144 Notes: Web Standards

Information Network Systems The application layer. Stephan Sigg

HTTP TRAFFIC CONSISTS OF REQUESTS AND RESPONSES. All HTTP traffic can be

Chapter 2. Application Layer

PIC 40A. Lecture 1: The Internet. Copyright 2011 Jukka Virtanen UCLA 1 03/31/14

HTML Overview. With an emphasis on XHTML

Lecture 25. Tuesday, November 21 CS 475 Networks - Lecture 25 1

Announcements. The World Wide Web. Goals of Today s Lecture. The World Wide Web HTML. Web Components

CREATING WEBSITES. What you need to build a website Part One The Basics. Chas Large. Welcome one and all

M3-R3: INTERNET AND WEB DESIGN

Chapter Ten. From Internet to Information Superhighway

Application Layer: OSI and TCP/IP Models

INF5750. RESTful Web Services

Content Delivery on the Web: HTTP and CDNs

Transcription:

Notes beforehand...

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

Topical overview: main arcs fundamental subjects advanced subject WTRs Lecture: 2 3 4 5 6 7 8

Today: the WWW arc Sessions 2-5: from copper wires to client/server programming internetworking WWW Lecture: 2 3 4 5 6 7 8

The context Old dream: to store and make accessible all of human knowledge.

An innovative idea A global storage system where accessing one document also gives immediate access to all the other documents that it refers to. Compare against: printed text, containing textual references, stored in libraries. Hyperlink: immediate link from one document to another. Hypertext: text that contains hyperlinks. Extension: documents may contain hypermedia not just written text...

Implementing hypertext, a shopping list : a format for storing hypertext documents including a uniform notation for hyperlinks devices that then store & instantly serve hypertext documents devices that can instantly retrieve & display hypertext documents a communication protocol for transferring hypertext documents an open-ended mechanism extending hypertext with hypermedia

Implementing hypertext? For most of human history: at most, a far-away dream. Since quite recently: implementation has become technologically possible. Consider the gains discussed in the previous 2 lectures: IP DNS TCP client/server technology...we can do this!

Implementing hypertext a format for storing hypertext documents HTML: HyperText Markup Language including a uniform notation for hyperlinks URL: Uniform Resource Locator devices that then store & instantly serve hypertext documents web servers devices that can instantly retrieve & display hypertext documents a communication protocol for transferring hypertext documents web clients = browsers HTTP: HyperText Transfer Protocol an open-ended mechanism extending hypertext with hypermedia MIME types

Hyperlinks: URLs URLs are used as the identifier or address of some resource. Resource : e.g. a webpage, an image, a sound file, A URL consists of a scheme or protocol to use (usually HTTP); a hostname; and a pathname. e.g. http://www.liacs.nl/index.html Sometimes the TCP port number is also included. e.g. as in http://www.liacs.nl:80/index.html URLs can be relative to the document they are mentioned in. e.g., a mention of /edu/index.html may be short for http://www.liacs.nl:80/edu/index.html

URLs: examples of different protocols web-resource http://mediatechnology.liacs.nl remote login (telnet) telnet:krypton.wi.leidenuniv.nl file transfer (ftp) ftp://ftp.cs.uu.nl/pub/ Usenet newsgroups news:comp.lang.javascript e-mail mailto:someone@liacs.nl local file file:c:\temp\mypage.html

Hypertext: HTML Mark-up in general: a notation used to specify how text should be displayed. Intended purpose of HTML markup: specifying the structure of a hypertext document not its presentation. HTML is strictly defined by the WWW Consortium (W3C): see http://www.w3.org.

HTML: hypertext markup Markup includes tags, attributes, and entity references. Tags are written <x> and </x>, where x is the tag name. Tags specify a specific markup, e.g. <p> for paragraphs, <h1> for headings, <a> for anchors = hyperlinks. Attributes specify additional parameters to tags, e.g. href inside an <a> tag, for the specific target URL of the hyperlink. Entity references encode special characters, and are written between & and ; characters, e.g. > for character >. Combined example: <a href= index.html >>></a>

HTML: structured, navigable hypertext A complete example HTML in a plaintext editor: <html> <head> <title> Hello world! </title> </head> <body> <h1> Hello world! </h1> <p> Will you stay, or will you go <a href="http://www.next.com"> >> </a>? </p> </body> </html>

HTML: structured, navigable hypertext A complete example displayed by a browser:

Navigation: enabled by HTTP transactions The user typed the URL of the example webpage (say, http://www.first.com) into the browser. The browser then sent a request to the appropriate server. The server responded with an HTML page. The user may click the hyperlink on the page, triggering a new request-response cycle, involving another machine: client 3 1 2 www.first.com 4 www.next.com

HTTP transactions HTTP: application layer protocol. HTTP runs on top of TCP (which runs on top of IP). HTTP servers: by default on TCP port 80. For transfer of HTML documents between web servers and web clients (browsers). Also used for transfer of other document/data types.

HTTP transactions Classical HTTP scenario: client browser connects to server, using TCP; client sends request to server, using HTTP; server replies with a response, using HTTP; server disconnects the TCP connection.

HTTP/0.9 transactions HTTP/0.9: first official version (Berners-Lee 1991). Very basic: client only has GET request method nothing else server simply responds with HTML content nothing else. An example client request: GET /~user/webtech/ An example server response: <h1>web Technology</h1> <h2>introduction</h2> <ul> <li><a href="day1/internet.htm">slides</a> <li><a href="day1/tutorial.html">tutorial</a> </ul>

HTTP/1.0 transactions: more request methods GET: retrieve a document. HEAD: retrieve information about the document, but not the document itself. POST: provide information to the server. PUT: provide a new or replacement document to be stored on the server. DELETE: remove a document from the server. TRACE: ask that proxies declare themselves (in the headers, see below), so client can learn path taken by document. OPTIONS: what other methods can be used?

HTTP/1.0 transactions: requests/responses An HTTP/1.0 request contains: a request method (usually GET retrieve a document); a URL, identifying the document to be retrieved; an HTTP version number: HTTP/1.0; additional information in header lines; an empty line; optionally, a request body (when request method is POST). An HTTP/1.0 response then contains: an HTTP version number: HTTP/1.0; a status code (e.g. 200 ) indicating success or failure, and a textual annotation (e.g. OK ); additional information in header lines; an empty line; a response body: the data to be retrieved.

HTTP/1.0 transactions: status codes...are organized in ranges. Codes: Meaning of the response: 100-199 informational (e.g. Continue, Switching protocols); 200-299 client request successful; 300-399 client request redirected, further action necessary; 400-499 client request incomplete; 500-599 server errors. Most well-known are 200 OK and 404 Not found.

HTTP/1.1 transactions HTTP/1.1: currently the commonly used version. Works much the same as HTTP/1.0. Most important difference: HTTP/1.0: For each request-response transaction, there is a separate TCP connection to (the same) web server. HTTP/1.1: TCP connection is reused multiple times, e.g. to download images for a just-delivered page (persistent connections).

HTTP/1.1 transaction: a document client server GET / HTTP/1.1 Accept: image/gif, image/jpeg, */* Accept-Language: nl Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; ) Host: www.server.com:80 Connection: Keep-Alive time HTTP/1.1 200 OK Date: Tue, 17 Dec 2014 15:26:24 GMT Server: Apache/1.3.26 (Unix) Last-Modified: Thu, 05 Dec 2014 09:41:34 GMT Content-Length: 10182 Connection: close Content-Type: text/html <html>

HTTP/1.1 transaction: a document with an image client server GET / HTTP/1.1... time HTTP/1.1 200 OK... GET /images/logo.gif HTTP/1.1... HTTP/1.1 200 OK Content-Length: 14668 Connection: close Content-Type: image/gif [binary data]

BREAK!