1 / 23

Integration Points: Gateways, Tunnels, and Relays

Integration Points: Gateways, Tunnels, and Relays. Herng-Yow Chen. How gateways interface HTTP with other protocols and applications How application interfaces allow different types of web applications to communicate with one another

oberon
Download Presentation

Integration Points: Gateways, Tunnels, and Relays

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 Outline

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

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

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

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

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

  8. HTTP/HTTPS:server-Side Security Gateways GET http://www.cnn.com/ HTTP/1.0 Host: www.cnn.com User-agent: SuperBrowser 4.2 Mdsnrt734tngfd/pofgdaoij.lod8skd90827/;lksdjs#@#(@#…… Port 443 HTTP over SSL(HTTPS) HTTP HTTP client HTTP/HTTPS inbound security gateway secure web server

  9. HTTP/HTTPS:Client-Side Security Accelerator Gateways Protected internal LAN GET http://www.cnn.com/ HTTP/1.0 Host: www.cnn.com User-agent: SuperBrowser 4.2 Mdsnrt734tngfd/pofgdaoij.lod8skd90827/;lksdjs#@#(@#…… HTTP over SSL(HTTPS) HTTP Browser HTTP/HTTPS security accelerator gateway www.cnn.com

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

  11. 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. Common Gateway Interface

  12. 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. CGI

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

  14. 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) CGI is wonderful?

  15. 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). Server Extension APIs

  16. 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. Tunnels

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

  22. http://www.w3.org/Protocols/rfc2616/rfc2616.txt 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. http://www.alternic.org/drafts/drafts-l-m/draft-luotonen-web-proxy-tunneling-01.txt “Tunneling TCP based protocols through Web proxy servers” http://cgi-spec.golux.com The Common Gateway Interface-RFC Project Page For More Information

  23. http://www.w3.org/TR/2001/WD-soap12-part0-20011217/ W3C-SOAP Version 1.2 Working Draft Programming Web Services with SOAP James Snell,Doug Tidwell,and Pavel Kulchenko,O’Reilly & Associates,Inc http://www.w3.org/TR/2002/WD-wsa-reqs-20020429 W3C-Web Services Architecture Requirements Web Services Essentials Ethan Cermai,O’Reilly & associates,Inc. For More Information

More Related