Lektion 2: Web als Graph / Web als System

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

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

Network Technologies

By Bardia, Patit, and Rozheh

HTTP Protocol. Bartosz Walter

Architecture of So-ware Systems HTTP Protocol. Mar8n Rehák


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

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:

CONTENT of this CHAPTER

The Hyper-Text Transfer Protocol (HTTP)

1 Introduction: Network Applications

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

Data Communication I

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?

Domain Name System (DNS)

Transport Layer Security Protocols

World Wide Web. Before WWW

Outline Definition of Webserver HTTP Static is no fun Software SSL. Webserver. in a nutshell. Sebastian Hollizeck. June, the 4 th 2013

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

Lab Exercise SSL/TLS. Objective. Step 1: Open a Trace. Step 2: Inspect the Trace

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

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Chapter 27 Hypertext Transfer Protocol

Internet Technologies Internet Protocols and Services

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

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

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

Internet Technologies 4-http. F. Ricci 2010/2011

Hypertext for Hyper Techs

No. Time Source Destination Protocol Info HTTP GET /ethereal-labs/http-ethereal-file1.html HTTP/1.

reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002)

Nuance Mobile Developer Program. HTTP Services for Nuance Mobile Developer Program Clients

Application layer Web 2.0

Web Security (SSL) Tecniche di Sicurezza dei Sistemi 1

Project #2. CSE 123b Communications Software. HTTP Messages. HTTP Basics. HTTP Request. HTTP Request. Spring Four parts

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ

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

Computer Networking LAB 2 HTTP

Customer Tips. Xerox Network Scanning HTTP/HTTPS Configuration using Microsoft IIS. for the user. Purpose. Background

M3-R3: INTERNET AND WEB DESIGN

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

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

Web Browsing Examples. How Web Browsing and HTTP Works

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

Fachgebiet Technische Informatik, Joachim Zumbrägel

APACHE HTTP SERVER 2.2.8

Layer 7 Load Balancing and Content Customization

Application Layer -1- Network Tools

Modern snoop lab lite version

Domain Name System Security

Description of Microsoft Internet Information Services (IIS) 5.0 and

<draft-luotonen-web-proxy-tunneling-00.txt> February Tunneling TCP based protocols through Web proxy servers

Web Application Security

Naming. Name Service. Why Name Services? Mappings. and related concepts

TCP/IP Networking An Example

B6: GET /started/with/ HTTP Analysis

Setup Guide Access Manager 3.2 SP3

, SNMP, Securing the Web: SSL

HTTP 1.1 Web Server and Client

Introduction to Computer Security

Application-layer protocols

Security Protocols/Standards

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

Talk-101 User Guide. DNSGate

Chapter 17. Transport-Level Security

WHITE PAPER Citrix Secure Gateway Startup Guide

Design Notes for an Efficient Password-Authenticated Key Exchange Implementation Using Human-Memorable Passwords

DEPLOYMENT GUIDE DEPLOYING THE BIG-IP LTM SYSTEM WITH CITRIX PRESENTATION SERVER 3.0 AND 4.5

3.2: Transport Layer: SSL/TLS Secure Socket Layer (SSL) Transport Layer Security (TLS) Protocol

Life of a Packet CS 640,

Lecture 11 Web Application Security (part 1)

Application Protocols in the TCP/IP Reference Model

Internet Privacy Options

Network Security. Computer Security & Forensics. Security in Compu5ng, Chapter 7. l Network Defences. l Firewalls. l Demilitarised Zones

International Journal of Engineering & Technology IJET-IJENS Vol:14 No:06 44

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

Glossary of Technical Terms Related to IPv6

4. Client-Level Administration

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

TLS/SSL in distributed systems. Eugen Babinciuc

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

Repeater. BrowserStack Local. browserstack.com 1. BrowserStack Local makes a REST call using the user s access key to browserstack.

Instructor: Betty O Neil

Technische Berichte des Hasso-Plattner-Instituts

Domain Name Servers. Domain Types WWW host names. Internet Names. COMP476 Networked Computer Systems. Domain Name Servers

Wireshark Lab: HTTP. 1. The Basic HTTP GET/response interaction

Lab Exercise SSL/TLS. Objective. Requirements. Step 1: Capture a Trace

Web Security. Mahalingam Ramkumar

Lecture 2. Internet: who talks with whom?

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5

Understanding Slow Start

Transcription:

Lektion 2: Web als Graph / Web als System Helmar Burkhart Informatik Universität Basel Helmar.Burkhart@... WT-2-1 Lernziele und Inhalt Web als Graph erkennen Grundelemente von sozialen Netzwerken sehen http verstehen httpunit anwenden Graphpaket Python/NetworkX Internet Grundlagen http Protokoll http Live httpunit WT-2-2 1

WWW as a Graph http://www.aharef.info/static/htmlgraph/ Web pages connected by links Social web connected by people http://mlg.ucd.ie/summer WT-2-3 WWW Architecture Quelle: Andrew S. Tannenbaum Computer Networks http://www.youtube.com/watch?v=4vxpazla0zc WT-2-4 2

OSI Reference Model WT-2-5 Iden<fica<on of Informa<on Access via URI (Uniform Resource Iden4fier) URN (Uniform Resource Name) URL (Uniform Resource Locator) h<p://www.w3.org/addressing/ General Format of URL: <url>::= httpaddress ftpaddress <httpaddress>::= http:// hostport [/path] [?search] h<p://www.w3.org/addressing/url/5_bnf.html WT-2-6 3

URI Syntax http://domänenname/verzeichnis+datei https://domänenname/verzeichnis+datei ftp://domänenname/verzeichnis+datei file:///verzeichnis+datei news:domänenname news:name@domänenname mailto:name@domänenname WT-2-7 Domain Name System Host name to IP address transla4on. Distributed data base via name servers. Performance: by caching. Reliability: by redundancy. RFC 1034,1035 (1987) h<p://de.wikipedia.org/wiki/domain_name_system WT-2-8 4

DNS Hierarchy. generic Top Level Domains.com.org.ch.de country code Top Level Domains TLD-Verwaltung durch IANA(www.iana.org/).unibas subdomain.cs "subdomain" fgb alias für Hostrechner WT-2-9 DNS Data Base Consists of Ressource Record with format name, value, type, <l. Type A: address 0 name: Symbolic name host 0 value: IP Address Type CNAME: Canonical name 0 name: alias for host 0 value: name of host Type NS: Name server 0 name: Symbolic name of domain 0 value: Authora:ve same server Type SOA: Start of authority 0 name: Symbolic name of domain 0 value: Administrator WT-2-10 5

Sample DNS Database ; zone 'unibas.ch' last serial 1427 ; from 131.152.1.1 at Fri Dec 14 12:10:52 2001 $ORIGIN ch. unibas IN SOA iser.urz.unibas.ch. zimak1.ubaclu.unibas.ch. ( 1428 7200 3600 604800 86400 ) IN NS iser.urz.unibas.ch. IN NS maser.urz.unibas.ch. $ORIGIN ifi.unibas.ch. eudora IN A 131.152.85.65 pepper IN A 131.152.85.88 molly IN A 131.152.85.83 volley IN A 131.152.85.87 www IN CNAME eudora.ifi.unibas.ch. http://www.kloth.net/services/dig-de.php WT-2-11 Resolu<on of URL http://www.sample.net:8888/web/ex.html DNS-Lookup 156.111.1.1 8888 web/ex.html ARP Port 00:05:f8:22:1c:4a Filesystem WT-2-12 6

Basic Browser Func<ons Client Server Reformat the URL entered as a valid HTTP request. Establish a TCP connec4on using IP address of server; crea4on of a socket. Send request message to web server and wait. Server sends response message to client Server closes connec4on Display document which means rendering for HTML. WT-2-13 Typical Status Messages Resolving host www.example.org Requested IP address from DNS; wai4ng for response. Connec:ng to www.example.org Crea4ng TCP connec4on to server Wai:ng for www.example.org Sent HTTP request; wai4ng for response Transferring data from www.example.org HTTP response has begun; but has not completed. Done HTTP response has been received; further processing may be needed before document will be displayed. WT-2-14 7

HTTP Protocol HTTP = HyperText Transfer Protocol HTTP takes place through TCP/IP sockets (default port 80). HTTP is a stateless protocol. HTTP is used to transmit ressources (files or server side script output). HTTP/1.0 (1990, RFC 1945), /1.1 (1997, RFC 2616) References: hep://www.w3.org/protocols/ hep://www.freeprogrammingresources.com/hep.html HTTP Made Really Easy (James Marshall 1997). WT-2-15 Message Format The format of request and response messages are similar: initial request/response line zero or more header lines a blank line (CRLF) optional message body GET / HTTP/1.0 Host: www.unibas.ch User-Agent: Mozilla/4.0 HTTP/1.1 200 OK Content-Length: 2579 Content-Type: text/html <HTML><HEAD>. WT-2-16 8

Ini<al Request and Response Line A request line has three parts: HTTP_method_name Request-URI (path of ressource) HTTP_Version_identification Uppercase Uppercase A response line also has three parts: HTTP_Version_identification 3-digits response status code Reason phrase 2xx success 4xx client error WT-2-17 Header Lines and Message Body Header lines are typically 1 line per header with the format Header_Name: Value HTTP/1.0 defines 16 headers, none are required. Examples: Host, Accept, User-Agent, From, Server, Last-Modified. Message Body is the requested ressource sent to the client. Typical header lines that describe the body are Content-Type: MIME type such as text/html and image/gif Content-length: Number of bytes WT-2-18 9

HTTP Methods WT-2-19 Message headers WT-2-20 10

HTTP Methods GET: Retrieve informa4on iden4fied by request URI. HEAD: Server must not return a message body (validity check, last modifica4on, etc.). POST: Send data to a server. 0 There is a (large) block of data to be sent 0 Request URI is a program to handle data 0 HTML Forms are usually sent this way. URL encoding: Form data are pairs of name and value stringed together: name1=value1&name2=value2& WT-2-21 HTTP Live via browser: Firefox or IExplorer heps://addons.mozilla.org/en US/firefox/addon/hEpfox/ hep://www.hepwatch.com/ via web viewer 0 hep://www.rexswain.com/hepview.html via standalone Java program 0 hep://www.hepunit.org/ WT-2-22 11

HTTPUnit The center of H<pUnit is the WebConversa4on class, which takes the place of a browser talking to a single site. It is responsible for maintaining session context. To use it, one must create a request and ask the WebConversa4on for a response. WebConversation wc = new WebConversation(); WebRequest req = new GetMethodWebRequest( "http://www.informatik.unibas.ch" ); WebResponse resp = wc.getresponse( req ); http://www.httpunit.org WT-2-23 HTTP 1.1 Extensions Superset of HTTP/1.0 0 from 16 to 46 headers 0 "Condi:onal get" if header such as If-Modified-Since is used. 0 "Par:al get" if header includes a range header field If-Range. Support of mul4ple domains 0 always include Host: Chunked encoding: 0 Long script output can be sent in chunks. Persistent Connec4on 0 Connec:on is not automa:cally closed Cache support 0 Valida:on model WT-2-24 12

WebDAV Web based Distributed Authoring and Versioning. Extension of HTTP/1.1 WebDAV (Distributed Authoring Protocol) PROPFIND, PROPPATCH, LOCK, UNLOCK, MKCOL, COPY, MOVE HTTP (HyperText Transfer Protocol) GET, HEAD, POST, OPTIONS, PUT, DELETE, TRACE Open Standard for an internet based management of files. Applica4ons: Virtual Internet Storage (idisk), Collabora4ve Edi4ng, Versioning. h<p://www.w3.org/jigsaw/doc/user/webdav.html WT-2-25 Internet Security Confidential data (e.g., online banking) require authentication and encryption techniques. Application HTTPS SSL/TLS TCP IP Data Link Physical SSL: Secure Sockets Layer TLS: Transport Layer Security Handshake protocols using certificates. HTTPS: HTTP over TLS/SSL. WT-2-26 13