Web architecture Dr Jim Briggs Web architecture.

Slides:



Advertisements
Similar presentations
HTTP HyperText Transfer Protocol. HTTP Uses TCP as its underlying transport protocol Uses port 80 Stateless protocol (i.e. HTTP Server maintains no information.
Advertisements

How the web works: HTTP and CGI explained
Cornell CS502 Web Basics and Protocols CS 502 – Carl Lagoze Acks to McCracken Syracuse Univ.
Introduction to Web Interface Technology (CSE2030)
The World Wide Web and the Internet Dr Jim Briggs 1WUCM1.
Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Definitions, Definitions, Definitions Lead to Understanding.
Dynamic content 1WUCM1. 2 Basic architecture of the web.
World Wide Web WeeSan Lee
Web programming for project students Dr Jim Briggs.
2/9/2004 Web and HTTP February 9, /9/2004 Assignments Due – Reading and Warmup Work on Message of the Day.
Hypertext Transport Protocol CS Dick Steflik.
 What is it ? What is it ?  URI,URN,URL URI,URN,URL  HTTP – methods HTTP – methods  HTTP Request Packets HTTP Request Packets  HTTP Request Headers.
Session-01. What is a Servlet? Servlet can be described in many ways, depending on the context: 1.Servlet is a technology i.e. used to create web application.
CGI Programming Languages Web Based Software Development July 21, 2005 Song, JaeHa.
It’s World Wide! I NTRODUCTION TO T HE WEB 1 Photo courtesy:
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Computer Concepts 2014 Chapter 7 The Web and .
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
HTTP; The World Wide Web Protocol
Web Servers1-1 Web Servers Xingquan (Hill) Zhu
Web Server Design Week 5 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein 2/10/10.
Computers: Information Technology in Perspective By Long and Long Copyright 2002 Prentice Hall, Inc. Going Online Chapter Jaana Holvikivi.
FTP (File Transfer Protocol) & Telnet
HyperText Transfer Protocol (HTTP).  HTTP is the protocol that supports communication between web browsers and web servers.  A “Web Server” is a HTTP.
CSC 2720 Building Web Applications Getting and Setting HTTP Headers (With PHP Examples)
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
TCP/IP Protocol Suite 1 Chapter 22 Upon completion you will be able to: World Wide Web: HTTP Understand the components of a browser and a server Understand.
2: Application Layer1 CS 4244: Internet Software Development Dr. Eli Tilevich.
Application Layer 2 Figures from Kurose and Ross
Rensselaer Polytechnic Institute Shivkumar Kalvanaraman, Biplab Sikdar 1 The Web: the http protocol http: hypertext transfer protocol Web’s application.
Copyright (c) 2010, Dr. Kuanchin Chen1 The Client-Server Architecture of the WWW Dr. Kuanchin Chen.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
MySQL and PHP Internet and WWW. Computer Basics A Single Computer.
1 Introductory material. This module illustrates the interactions of the protocols of the TCP/IP protocol suite with the help of an example. The example.
1 Welcome to CSC 301 Web Programming Charles Frank.
1 CS122B: Projects in Databases and Web Applications Spring 2015 Notes 03: Web-App Architectures Professor Chen Li Department of Computer Science CS122B.
1 CS 4396 Computer Networks Lab TCP/IP Networking An Example.
1-1 HTTP request message GET /somedir/page.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language:fr request.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
WWW: an Internet application Bill Chu. © Bei-Tseng Chu Aug 2000 WWW Web and HTTP WWW web is an interconnected information servers each server maintains.
Appendix E: Overview of HTTP ©SoftMoore ConsultingSlide 1.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Operating Systems Lesson 12. HTTP vs HTML HTML: hypertext markup language ◦ Definitions of tags that are added to Web documents to control their appearance.
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP.
CITA 310 Section 2 HTTP (Selected Topics from Textbook Chapter 6)
Web Technologies Lecture 1 The Internet and HTTP.
1 10/19/05CS360 Windows Programming ASP.NET. 2 10/19/05CS360 Windows Programming ASP.NET  ASP.NET works on top of the HTTP protocol  Takes advantage.
Overview of Servlets and JSP
JavaScript and Ajax (Internet Background) Week 1 Web site:
LURP Details. LURP Lab Details  1.Given a GET … call a proxy CGI script in the same way you would for a normal CGI request  2.This UDP perl.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 7 Omar Meqdadi Department of Computer Science and Software Engineering University of.
It’s World Wide! I NTRODUCTION TO T HE WEB 1 Photo courtesy:
COMP2322 Lab 2 HTTP Steven Lee Jan. 29, HTTP Hypertext Transfer Protocol Web’s application layer protocol Client/server model – Client (browser):
1 Introductory material. This module illustrates the interactions of the protocols of the TCP/IP protocol suite with the help of an example. The example.
Week 11: Application Layer 1 Web and HTTP r Web page consists of objects r Object can be HTML file, JPEG image, Java applet, audio file,… r Web page consists.
WEB1P webarch1 Web architecture Dr Jim Briggs. WEB1P webarch2 What is the web? Distributed system Client-server system Characteristics of clients and.
Web Server Design Week 5 Old Dominion University Department of Computer Science CS 495/595 Spring 2012 Michael L. Nelson 02/07/12.
INTRODUCTION Dr Mohd Soperi Mohd Zahid Semester /16.
Website Design and Construction Services and Standards.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Introduction to Dynamic Web Content
Hypertext Transport Protocol
TCP/IP Networking An Example
Tutorial (4): HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Presentation transcript:

Web architecture Dr Jim Briggs Web architecture

Introduction Web architecture

What is the web? Distributed system Client-server system Characteristics of clients and servers Servers always on / Clients choose when on Clients do not need high performance if the work is done on the server Protocol based Web architecture

Basic architecture of the web Web architecture

Common web tools Browsers Servers Application servers Microsoft Internet Explorer Mozilla Firefox Google Chrome Opera Safari Netscape Navigator Konqueror Lynx Servers Apache Internet Information Server (Microsoft) nginx Application servers Web architecture

HTTP protocol Specified by Based on requests and responses IETF RFC 7230-7237 https://tools.ietf.org/html/rfc7230 etc Was RFC 2616 http://www.w3.org/Protocols/rfc2616/rfc2616.html Based on requests and responses A response can contain any document MIME (Multipurpose Internet Mail Extensions) types http://www.iana.org/assignments/media-types/ A stateless protocol Normally transported via a TCP/IP connection Default port is TCP 80 Web architecture

HTTP requests Requests Example request GET POST PUT HEAD GET http://www.port.ac.uk/index.htm HTTP/1.1 Web architecture

HTTP responses HTTP/1.1 200 OK Server: Microsoft-IIS/4.0 Date: Mon, 29 Apr 2002 08:50:53 GMT Content-Type: text/html Accept-Ranges: bytes Last-Modified: Wed, 10 Apr 2002 16:12:34 GMT ETag: "085fb85aae0c11:54fb" Content-Length: 13845 <HTML> <HEAD> <TITLE>University of Portsmouth - Our University</TITLE> ... Web architecture

An error response HTTP/1.1 404 Object Not Found Server: Microsoft-IIS/4.0 Date: Mon, 29 Apr 2002 08:58:12 GMT Content-Length: 11891 Content-Type: text/html <HTML> <HEAD> <TITLE>University of Portsmouth - Our University</TITLE> ... Web architecture

Dynamic web pages Web architecture

Dynamic web pages Four models: Server-side includes CGI Server modules Auxiliary servers Web architecture

Server side includes Original technology Tags in document processed by web server Syntax <!--#element attribute=value attribute=value ... --> Example: This file last modified <!--#echo var="LAST_MODIFIED" --> Dangerous: <!--#exec cmd="ls" --> Web architecture

CGI architecture Web architecture

CGI characteristics Web server creates a new process for each request that maps onto a program Data passed according to CGI Server reads output of program from program CGI spec: http://hoohoo.ncsa.uiuc.edu/cgi/ Can use pretty much any programming language – best known Perl, Python, C/C++ Web architecture

Pros and cons of CGI Cons: Pros: Independent of server - if program crashes it cannot affect the server The web server takes up less memory if it does not load any server modules Any memory (or other resources) used by the CGI program is released when the CGI program terminates Cons: The time to create a new process to handle the CGI request is relatively long For programs that access databases, each new process must establish a new database connection Web architecture

Server module Web architecture

Server module characteristics Web server invokes interpreter via API for each request that maps onto a program Data passed via API Server gets output via API Popular for: PHP ASP.NET Perl (as an alternative to CGI) Web architecture

Pros and cons of server modules No need to create a separate process, therefore faster For programs that access databases, the server can maintain a persistent connection to a database, saving reconnection time Cons: Server and program inextricably linked - a crash within the server module may crash the server The web server will occupy more memory because of the size of the server module(s) it loads If any server module needs a lot of memory, that memory will not be released (at least not until the server dies) Web architecture

Auxiliary server Web architecture

Auxiliary server characteristics Auxiliary server runs on a different TCP/IP port (and potentially on a different machine) Relevant requests forwarded by web server to auxiliary server Server passes response back Common for: Java PL/SQL (Oracle) Web architecture

Pros and cons of auxiliary servers No need to create a new process for each request Can maintain state (if desired) including database connections Separate from the main web server Cons: Overhead of resending HTTP requests and responses Web architecture

Big benefits of auxiliary servers Enterprise scalability add new web servers add new auxiliary servers cross-connect between them fits in with database scalability Resilience and reliability Web architecture

Summary Clients and servers HTTP protocol MIME types Dynamic content CGI Server modules Auxiliary servers Web architecture