1 Integration Points: Gateways, Tunnels, and Relays Herng-Yow Chen.

Slides:



Advertisements
Similar presentations
PowerPoint presentation of first 25 pages of instructional manual Edith Fabiyi Essentials of Internet Access.
Advertisements

Hypertext Transfer PROTOCOL ----HTTP Sen Wang CSE5232 Network Programming.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
Introduction to Web Interface Technology (CSE2030)
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.
1 The HyperText Transfer Protocol: HTTP Nick Smith Stuart Alley Tara Tjaden.
Definitions, Definitions, Definitions Lead to Understanding.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 6 Packet Filtering By Whitman, Mattord, & Austin© 2008 Course Technology.
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.
Application Layer. Applications A program or group of programs designed for end users. A program or group of programs designed for end users. Software.
Electronic Commerce Last Week
INTRODUCTION TO WEB DATABASE PROGRAMMING
CS 299 – Web Programming and Design CS299: Web Programming and Design Instructor: Dr. Fang (Daisy) Tang.
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
Packet Filtering. 2 Objectives Describe packets and packet filtering Explain the approaches to packet filtering Recommend specific filtering rules.
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)
Human-Computer Interface Course 5. ISPs and Internet connection.
1 HTML and CGI Scripting CSC8304 – Computing Environments for Bioinformatics - Lecture 10.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Week 7 Lecture Web Database Development Samuel Conn, Asst. Professor
Chapter 1: Introduction to Web
Chapter 4: Core Web Technologies
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Chapter 6: Packet Filtering
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.
1 Web Server Administration Chapter 1 The Basics of Server and Web Server Administration.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
TCP/IP Protocols Dr. Sharon Hall Perkins Applications World Wide Web(HTTP) Presented by.
Chapter 1: The Internet and the WWW CIS 275—Web Application Development for Business I.
MySQL and PHP Internet and WWW. Computer Basics A Single Computer.
Packet Filtering Chapter 4. Learning Objectives Understand packets and packet filtering Understand approaches to packet filtering Set specific filtering.
Kingdom of Saudi Arabia Ministry of Higher Education Al-Imam Muhammad Ibn Saud Islamic University College of Computer and Information Sciences Chapter.
1 Welcome to CSC 301 Web Programming Charles Frank.
Web Client-Server Server Client Hypertext link TCP port 80.
Application Layer Khondaker Abdullah-Al-Mamun Lecturer, CSE Instructor, CNAP AUST.
NETWORK HARDWARE AND SOFTWARE MR ROSS UNIT 3 IT APPLICATIONS.
BASIC INTERNET PROTOCOLS: http, ftp, telnet. Mirela Walczak.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
SOCKS By BITSnBYTES (Bhargavi, Maya, Priya, Rajini and Shruti)
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
WEB SERVER SOFTWARE FEATURE SETS
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
JavaScript and Ajax (Internet Background) Week 1 Web site:
Computer Network Architecture Lecture 6: OSI Model Layers Examples 1 20/12/2012.
COSC 2328 – Web Programming.  PHP is a server scripting language  It’s widely-used and free  It’s an alternative to Microsoft’s ASP and Ruby  PHP.
Lect5.ppt - 02/23/06 CIS 4100 Systems Performance and Evaluation Lecture 6 by Zornitza Genova Prodanoff.
Web Design Terminology Unit 2 STEM. 1. Accessibility – a web page or site that address the users limitations or disabilities 2. Active server page (ASP)
APACHE Apache is generally recognized as the world's most popular Web server (HTTP server). Originally designed for Unix servers, the Apache Web server.
Lecture # 1 By: Aftab Alam Department Of Computer Science University Of Peshawar Internet Programming.
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.
Section 6.3 Server-side Scripting
WWW and HTTP King Fahd University of Petroleum & Minerals
JavaScript and Ajax (Internet Background)
CNIT 131 Internet Basics & Beginning HTML
Some bits on how it works
EE 122: HyperText Transfer Protocol (HTTP)
APACHE WEB SERVER.
Information Retrieval and Web Design
Presentation transcript:

1 Integration Points: Gateways, Tunnels, and Relays Herng-Yow Chen

2 Outline How gateways interface HTTP with other protocols and applications How application interfaces allow different types of web applications to communicate with one another How tunnels let you send non-HTTP traffic over HTTP connections How relays, a type of simplified HTTP proxy, are used to forward data one hop at a time

3 Why Gateways? client Gateway Database HTTP/ OK NEW product list: … Response message GET /query-db.cgi?newproducts HTTP/1.1 Host: Accept: * Request message Client is requesting:

4 Different types of Gateways Gateway HTTPS client HTTP client Server HTTPFTP HTTPSSL HTTP CGI(or other API) App server Program (c) HTTP/CGI server-side application gateway (b) HTTPS/ HTTP client-side security gateway (A) HTTP/FTP server-side FTP gateway Application server gateway

5 Protocol Gateways (a)MSIE manual proxy settings (b)Navigator manual proxy settings

6 HTTP/*: Server-Side Web Gateways Web server FTP server HTTP client FTP 8080 HTTP/FTP gateway (gw1.joes-hardware.com) GET ftp://ftp.irs.gov/pub/00-index.txt HTTP/1.0 Host: ftp.irs.gov User-agent: SuperBrowser 4.2 HTTP GET HTTP/1.0 Host: User-agent: SuperBrowser 4.2 HTTP ( (ftp.irs.gov)

7 HTTP/*: Server-Side Web Gateways HTTP client HTTP FTP server Port 21 GET ftp://ftp.irs.gov/pub/00-index.txt HTTP/1.0 Host: ftp.irs.gov User-agent: SuperBrowser 4.2 USER anonymous PASS joe CWD /pub TYPE A MDTM 00-index.txt PASV PETR 00-index.txt HTTP/FTP inbound conversion gateway FTP control connection FTP data connection … data … Inbound

8 HTTP/ Security Gateways HTTP client HTTP secure web server HTTP/HTTPS inbound security gateway Port 443 HTTP over SSL(HTTPS) GET HTTP/1.0 Host: User-agent: SuperBrowser 4.2 ……

9 HTTP/ Security Accelerator Gateways Browser HTTP/HTTPS security accelerator gateway …… HTTP over SSL(HTTPS) GET HTTP/1.0 Host: User-agent: SuperBrowser 4.2 HTTP Protected internal LAN

10 Resource Gateways Web camera API E-commerce API Client A Client B $$ $ $ Camera device and software E-commerce application Application server HTTP

11 Common Gateway Interface The first popular API for application gateways was the Common Gateway Interface (CGI). It is a standardized set of interfaces that web servers use to launch programs in response to HTTP requests for special URLs, collect the program output, and send the output back in HTTP response. Over the past years, commercial web servers have provided more sophisticated, efficient interface for the same purpose.

12 CGI Was the first and probably still is the most widely used server extension. Applications Dynamic HTML output, Credit card processing, Query database Can be implemented in almost any language, including Perl, Tcl, C, and various shell languages. Because of its simplicity, almost all HTTP servers support CGI.

13 Server gateway application mechanics Spawned gateway process#1 Spawned gateway process#2 Spawned gateway process#N Request 1 Request 2 Request N Server system Response 1 Response 2 Response N Server process Request Data Response Data Server internal view

14 CGI is wonderful? Yes! It provides a simple, functional form of glue between servers and much type of resource. The interface also is elegant in protecting the server from buggy extensions. NO! This separation incurs a cost in performance. The overhead to spawn a new process for every CGI request is high, limiting the performance of server. New form of CGI- Fast CGI (run as a persistent daemon)

15 Server Extension APIs Allow programmer to graft their own code onto the server, Or completely swap out a component of the server and replace it with their own. Most popular servers provide one or more extension APIs for developers. Most of them are specific to server type, because of its functions tied to server architecture. For example, Microsoft ’ s Frontpage Server Extension (FPSE), which interpret RPC command sent by FrontPage client. Those commands are piggybacked on HTTP (specifically, on POST method).

16 Tunnels Enable access to applications that speak non-HTTP protocols through HTTP applications. Web tunnels are established using HTTP ’ s CONNECT method, which is not part of the core HTTP/1.1, but it is a widely implemented extension.

17 Using CONNECT to establish an SSL tunnel

18 Tunnels let non-HTTP traffic flow through HTTP connections

19 SSL Tunneling

20 Tunnel Authentication

21 Relays client server Blind relay (a)Connection:keep-Alive (b) Server won ’ t close connection when done because It thinks it has been asked to speak keep-alive (c) Connection:Keep Alive (b) Connection:Keep Alive (d) Connection:Keep Alive (c) Relay waits for connection to close ignoring any new requests on the connection (e) Next request (f)Client ’ s second request on the keep-alive connection just hangs because the relay never processes it

22 For More Information RFC 2626 ” Hypertext Transfer Protocol ” by R. Fielding, J. Gettys, J. Mogul,H. Frystyk, L. Masinter, P. Leach, T. Berners- Lee Web Proxy Servers Ari Luotonen,Prentice Hall Computer Books. web-proxy-tunneling-01.txt web-proxy-tunneling-01.txt “ Tunneling TCP based protocols through Web proxy servers ” The Common Gateway Interface-RFC Project Page

23 For More Information W3C-SOAP Version 1.2 Working Draft Programming Web Services with SOAP James Snell,Doug Tidwell,and Pavel Kulchenko,O ’ Reilly & Associates,Inc W3C-Web Services Architecture Requirements Web Services Essentials Ethan Cermai,O ’ Reilly & associates,Inc.