<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns:fn="http://www.w3.org/2005/02/xpath-functions"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css"> <title>Erlang -- Introduction</title> </head> <body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container"> <script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript"> <!-- function getWinHeight() { var myHeight = 0; if( typeof( window.innerHeight ) == 'number' ) { //Non-IE myHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode' myHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible myHeight = document.body.clientHeight; } return myHeight; } function setscrollpos() { var objf=document.getElementById('loadscrollpos'); document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2; } function addEvent(obj, evType, fn){ if (obj.addEventListener){ obj.addEventListener(evType, fn, true); return true; } else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r; } else { return false; } } addEvent(window, 'load', setscrollpos); //--></script><div id="leftnav"><div class="innertube"> <img alt="Erlang logo" src="../../../../doc/erlang-logo.png"><br><small><a href="users_guide.html">User's Guide</a><br><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/inets-5.9.2.pdf">PDF</a><br><a href="../../../../doc/index.html">Top</a></small><p><strong>inets</strong><br><strong>User's Guide</strong><br><small>Version 5.9.2</small></p> <br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Chapters</strong></small></p> <ul class="flipMenu" imagepath="../../../../doc/js/flipmenu"> <li id="loadscrollpos" title="Introduction" expanded="true">Introduction<ul> <li><a href="inets_services.html"> Top of chapter </a></li> <li title="Purpose"><a href="inets_services.html#id57726">Purpose</a></li> <li title="Prerequisites"><a href="inets_services.html#id63179">Prerequisites</a></li> <li title="The Service Concept"><a href="inets_services.html#id59584">The Service Concept</a></li> </ul> </li> <li id="no" title="FTP Client" expanded="false">FTP Client<ul> <li><a href="ftp_client.html"> Top of chapter </a></li> <li title="Introduction"><a href="ftp_client.html#id61235">Introduction</a></li> <li title="Using the FTP Client API"><a href="ftp_client.html#id57000">Using the FTP Client API</a></li> </ul> </li> <li id="no" title="HTTP Client" expanded="false">HTTP Client<ul> <li><a href="http_client.html"> Top of chapter </a></li> <li title="Introduction"><a href="http_client.html#id60140">Introduction</a></li> <li title="Configuration"><a href="http_client.html#id61256">Configuration</a></li> <li title="Using the HTTP Client API"><a href="http_client.html#id60633">Using the HTTP Client API</a></li> </ul> </li> <li id="no" title="HTTP server " expanded="false">HTTP server <ul> <li><a href="http_server.html"> Top of chapter </a></li> <li title="Introduction"><a href="http_server.html#id61031">Introduction</a></li> <li title="Configuration"><a href="http_server.html#id60316">Configuration</a></li> <li title="Using the HTTP Server API"><a href="http_server.html#id60564">Using the HTTP Server API</a></li> <li title="Htaccess - User Configurable Authentication."><a href="http_server.html#id61824">Htaccess - User Configurable Authentication.</a></li> <li title="Dynamic Web Pages"><a href="http_server.html#id60221">Dynamic Web Pages</a></li> <li title="Logging "><a href="http_server.html#id62487">Logging </a></li> <li title="Server Side Includes"><a href="http_server.html#id62597">Server Side Includes</a></li> <li title="The Erlang Web Server API"><a href="http_server.html#id62269">The Erlang Web Server API</a></li> <li title="Inets Web Server Modules"><a href="http_server.html#id62373">Inets Web Server Modules</a></li> </ul> </li> </ul> </div></div> <div id="content"> <div class="innertube"> <h1>1 Introduction</h1> <h3><a name="id57726">1.1 Purpose</a></h3> <p>Inets is a container for Internet clients and servers. Currently, an HTTPclient and server, a TFPT client and server, and a FTP client has been incorporated into Inets. The HTTP server and client is HTTP 1.1 compliant as defined in RFC2616.</p> <h3><a name="id63179">1.2 Prerequisites</a></h3> <p>It is assumed that the reader is familiar with the Erlang programming language, concepts of OTP and has a basic understanding of the HTTP, TFTP and FTP protocols.</p> <h3><a name="id59584">1.3 The Service Concept</a></h3> <p>Each client and server in inets is viewed as service. Services may be configured to be started at application startup or started dynamically in runtime. If you want to run inets as an distributed application that should handle application failover and takeover, services should be configured to be started at application startup. When starting the inets application the inets top supervisor will start a number of subsupervisors and worker processes for handling the different services provided. When starting services dynamically new children will be added to the supervision tree, unless the service is started with the stand alone option, in which case the service is linked to the calling process and all OTP application features such as soft upgrade are lost.</p> <p>Services that should be configured for startup at application startup time should be put into the erlang node configuration file on the form: </p> <div class="example"><pre> [{inets, [{services, ListofConfiguredServices}]}]. </pre></div> <p>For details of exactly what to put in the list of configured services see the documentation for the services that should be configured.</p> </div> <div class="footer"> <hr> <p>Copyright © 1997-2012 Ericsson AB. All Rights Reserved.</p> </div> </div> </div></body> </html>