Web Browsing Examples. How Web Browsing and HTTP Works

Similar documents
File Transfer Examples. Running commands on other computers and transferring files between computers

1 Data information is sent onto the network cable using which of the following? A Communication protocol B Data packet


Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. G.Bianchi, G.Neglia, V.Mancuso

Network Technologies

Firewall Examples. Using a firewall to control traffic in networks

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

Lecture 2. Internet: who talks with whom?

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

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

LESSON Networking Fundamentals. Understand TCP/IP

A host-based firewall can be used in addition to a network-based firewall to provide multiple layers of protection.

Setting Up SSL on IIS6 for MEGA Advisor

Cyclope Internet Filtering Proxy. - Installation Guide -

isupplier PORTAL ACCESS SYSTEM REQUIREMENTS

Network Layers. CSC358 - Introduction to Computer Networks

Transport and Network Layer

Connecting to and Setting Up a Network

Lecture (02) Networking Model (TCP/IP) Networking Standard (OSI) (I)

Virtual Server and DDNS. Virtual Server and DDNS. For BIPAC 741/743GE

Pass Through Proxy. How-to. Overview:..1 Why PTP?...1

Application Layer -1- Network Tools

Unix System Administration

Deploying the Barracuda Load Balancer with Office Communications Server 2007 R2. Office Communications Server Overview.

How to add your Weebly website to a TotalCloud hosted Server

THE HONG KONG POLYTECHNIC UNIVERSITY Department of Electronic and Information Engineering

DDNS Management System User Manual V1.0

Quick Guide of HiDDNS Settings (with UPnP)

How to Make the Client IP Address Available to the Back-end Server

Trend Micro Worry- Free Business Security st time setup Tips & Tricks

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

Apache Server Implementation Guide

Firewall VPN Router. Quick Installation Guide M73-APO09-380

3.1 RS-232/422/485 Pinout:PORT1-4(RJ-45) RJ-45 RS-232 RS-422 RS-485 PIN1 TXD PIN2 RXD PIN3 GND PIN4 PIN5 T PIN6 T PIN7 R+ PIN8 R-

Multi-Homing Dual WAN Firewall Router

Chapter 6 Configuring the SSL VPN Tunnel Client and Port Forwarding

Lab - Observing DNS Resolution

HomeWorks P5 Processor Ethernet TCP / IP Networking Specification

Enterprise Manager. Version 6.2. Installation Guide

Network Configuration Settings

Intrusion Detection and Prevention: Network and IDS Configuration and Monitoring using Snort

Application. Transport. Network. Data Link. Physical. Network Layers. Goal

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

TCP/IP Networking An Example

Basic Network Configuration

Spam Marshall SpamWall Step-by-Step Installation Guide for Exchange 5.5

Setting Up a Unisphere Management Station for the VNX Series P/N Revision A01 January 5, 2010

Introduction to Network Security Lab 1 - Wireshark

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

Procedure: You can find the problem sheet on Drive D: of the lab PCs. 1. IP address for this host computer 2. Subnet mask 3. Default gateway address

Slide 1 Introduction cnds@napier 1 Lecture 6 (Network Layer)

Internet Privacy Options

Network Probe User Guide

User s Manual TCP/IP TO RS-232/422/485 CONVERTER. 1.1 Introduction. 1.2 Main features. Dynamic DNS

Lab Conducting a Network Capture with Wireshark

Unit Objectives. IP Addressing Basics. Component 4: Introduction to Information and Computer Science. Unit 7: Networks & Networking Lecture 2

Internetworking Microsoft TCP/IP on Microsoft Windows NT 4.0

Computer Networks/DV2 Lab

CS 326e F2002 Lab 1. Basic Network Setup & Ethereal Time: 2 hrs

ΕΠΛ 674: Εργαστήριο 5 Firewalls

UTM Quick Installation Guide

Microsoft Lync Server Overview

Internet Security Firewalls

Introduction to web development

Semantic based Web Application Firewall (SWAF - V 1.6)

USER GUIDE WEB-BASED SYSTEM CONTROL APPLICATION. August 2014 Phone: Publication: , Rev. C

How To Connect To Bloomerg.Com With A Network Card From A Powerline To A Powerpoint Terminal On A Microsoft Powerbook (Powerline) On A Blackberry Or Ipnet (Powerbook) On An Ipnet Box On

Configuring Network Address Translation (NAT)

Guideline for setting up a functional VPN

Computer Networks - CS132/EECS148 - Spring

How To Configure SSL VPN in Cyberoam

EMG Ethernet Modbus Gateway User Manual

PasserellesNumeriquesCambodia (PNC)

Web Design and Development ACS-1809

TP-LINK TD-W8901G. Wireless Modem Router. Advanced Troubleshooting Guide

HREP Series DVR DDNS Configuration Application Note

Follow these steps to prepare the module and evaluation board for testing.

Data Communication I

How to Install Microsoft Mobile Information Server 2002 Server ActiveSync. Joey Masterson

MassTransit 6.0 Enterprise Web Configuration for Macintosh OS 10.5 Server

DMZ Network Visibility with Wireshark June 15, 2010

Technical Support Information Belkin internal use only

INUVIKA OPEN VIRTUAL DESKTOP FOUNDATION SERVER

The Transport Layer. Antonio Carzaniga. October 24, Faculty of Informatics University of Lugano Antonio Carzaniga

DEPLOYMENT OF I M INTOUCH (IIT) IN TYPICAL NETWORK ENVIRONMENTS. Single Computer running I m InTouch with a DSL or Cable Modem Internet Connection

How to Scale out SharePoint Server 2007 from a single server farm to a 3 server farm with Microsoft Network Load Balancing on the Web servers.

P-660R-T1/T3 v2 Quick Start Guide

Blue Coat Security First Steps Solution for Deploying an Explicit Proxy

Savvius Insight Initial Configuration

Data Communication Networks and Converged Networks

Apache and Virtual Hosts Exercises

Prestige 314 Read Me First

Immotec Systems, Inc. SQL Server 2005 Installation Document

ΕΠΛ 475: Εργαστήριο 9 Firewalls Τοίχοι πυρασφάλειας. University of Cyprus Department of Computer Science

This document details the following four steps in setting up a Web Server (aka Internet Information Services -IIS) on Windows XP:

Using IPM to Measure Network Performance

Quick Guide of DDNS Settings

SyncLockStatus Evaluator s Guide

How to Configure edgebox as a Web Server

Transcription:

How Web Browsing and HTTP Works 1 1

2 Lets consider an example that shows how web browsing and HTTP work. The example will cover a simple, but very common case. There are many more details of HTTP that are not covered by this example. We have two computers on an internet. 2

3 From a layering perspective, the software/hardware related to web browsing in each computer are shown on the slide. Computer A (where the person sits) runs a web browser. They want to visit a web site on computer B, which runs a web server. A web browser and web server are software applications and considered part of the application layer. The application protocol used to communicate between web browser and web server is HTTP (not shown). HTTP uses TCP as a transport protocol, which in turn uses IP as the network protocol. TCP and IP are implemented in the operating system. The data link layer and physical layer protocols used on the computers may differ, especially if they are on different subnets. Lets hide the details of the protocols and say IP sends data via the Network Interface Card (NIC). That is usually hardware (on the motherboard or a separate PCI card). 3

4 This slides shows examples of addresses used. NICs are identified by hardware addresses (48-bits, shown as 12-digit hexadecimal). They are used for LAN communication, and are not so relevant for this example. Computer interfaces on an internet are identified by IP addresses. Simply, consider the address of computer A to be 1.1.1.1 and that of B to be 2.2.2.2. The transport protocol used by the application is identified by a protocol number. TCP has protocol number 6. (UDP is 17, ICMP is 1; look in /etc/protocols to see the list). Note that both sides use the same transport protocol. Applications (or more precisely sockets used by applications; a single application, like web browser, may use multiple sockets and ports) are identified by port numbers. When an application protocol wants to communicate via TCP/IP, it uses a unique port number on that computer. Application servers commonly use default or well-known port numbers (see /etc/services). For example, most web servers use port 80. Application clients usually have port numbers assigned by the operating system (they are dynamic and not known in advance). In this example, the web browser uses port 50123. For internet communications we can talk about a unique connection between a client and server. Each connection is identified by 5 addresses: source port, destination port, protocol number, source IP and destination IP. 4

5 This shows examples of web browser and web server applications. Firefox is a common web browser. Others include Internet Explorer, Chrome, Opera, Safari and many mobile phone based browsers. Other, command-line based browsers, are lynx and wget. Apache is a common web server. Others include IIS, nginx, lighttpd,... 5

6 A web server hosts files in some directory, and as web browsers requests those files, the server retrieves them from disk and sends them back to the browser. Apache web server is configured by a set of text files. They are usually in the directory /etc/apache2/. They set parameter values for the web server. The files that Apache web server hosts (and makes available to web browsers) are usually stored in the directory /var/www/. This is the web server root. When a request to the web server arrives with URL path /index.html, then it refers to the file /var/www/index.html on the computer filesystem. URL paths are relative to filesystem path /var/www/. 6

7 HTTP is the application protocol used for web browsers and web servers to communicate. The basic operation is: A user of the web browser types in a destination URL or clicks on a link for some destination URL, e.g. http://www.example.com/index.html The URL indicates the domain name of the destination computer running the web server; DNS maps the domain name to an IP address, e.g. 2.2.2.2. The web browser sends a HTTP Request message to the IP address of the web server. The request contains the path of the URL, e.g. /index.html When the web server receives the HTTP Request, it checks if the requested file is available on the filesystem, e.g. file /var/www/index.html If the file exists, the file is read and sent back to the web browser in a HTTP Response message. The response also includes information about the status of the request (e.g. was it sucessful). When the web browser receives the HTTP Response, it parses the HTML in the received file, and displays the content on the screen. There are many details not mentioned above like: HTTP messages include header fields, indicating useful information to the other side If the requested file doesn't exist, or is not accessible, the web server still sends a response, but with different status information, e.g. 404 Not Found. Multiple, separate requests may be automatically sent by the web browser, e.g. to request images and style sheets included in web pages. 7

Summary Web server listens on port 80 /etc/services lists the port numbers Web browser OS chooses own port HTTP: Request/Response protocol Request types: GET, POST, Response codes: 200, 301, 304, 401, 404, TCP is protocol, number 6 (see /etc/protocols) Apache is common web server Configuration in text files in /etc/apache2/ Main config file: /etc/apache2/sites-available/default Web site is in /var/www/ 8 See other handouts, lecture notes and websites to see further details of HTTP, Apache configuration, port numbers etc. 8