122 lines
6.3 KiB
HTML
122 lines
6.3 KiB
HTML
|
<!-- BeginDsi "dsi/head.html" -->
|
||
|
<!DOCTYPE html>
|
||
|
<html lang="en">
|
||
|
<head>
|
||
|
<title>Embedthis Appweb 4.3.4 Documentation</title>
|
||
|
<meta name="keywords" content="embedded web server, web server software, embedded HTTP, application web server,
|
||
|
embedded server, small web server, HTTP server, library web server, library HTTP, HTTP library" />
|
||
|
<meta name="description" content="Embedthis Sofware provides commercial and open source embedded web servers for
|
||
|
devices and applications." />
|
||
|
<meta name="robots" content="index,follow" />
|
||
|
<link href="../doc.css" rel="stylesheet" type="text/css" />
|
||
|
<link href="../print.css" rel="stylesheet" type="text/css" media="print"/>
|
||
|
<!--[if IE]>
|
||
|
<link href="../iehacks.css" rel="stylesheet" type="text/css" />
|
||
|
<![endif]-->
|
||
|
<link href="http://www.google.com/cse/style/look/default.css" type="text/css" rel="stylesheet" />
|
||
|
</head>
|
||
|
|
||
|
<body>
|
||
|
<div class="top">
|
||
|
<a class="logo" href="http://appwebserver.org/"> </a>
|
||
|
<div class="topRight">
|
||
|
<div class="search">
|
||
|
<div id="cse-search-form"></div>
|
||
|
<div class="version">Embedthis Appweb 4.3.4</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="crumbs">
|
||
|
<a href="../index.html">Home</a>
|
||
|
<!-- EndDsi -->
|
||
|
> <b>Compatibility</b>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="content">
|
||
|
<div class="contentRight">
|
||
|
<h1>Quick Nav</h1>
|
||
|
<ul>
|
||
|
<li><a href="#api">API Compatibility</a></li>
|
||
|
<li><a href="#r4">Appweb 4</a></li>
|
||
|
<li><a href="#r2">Appweb 2</a></li>
|
||
|
</ul>
|
||
|
<!-- BeginDsi "dsi/genSeeAlso.html" -->
|
||
|
<h1>See Also</h1>
|
||
|
<ul class="nav">
|
||
|
<li><a href="../guide/appweb/overview.html">Appweb Overview</a></li>
|
||
|
<li><a href="../guide/appweb/features.html">Appweb Features</a></li>
|
||
|
<li><a href="../product/releaseNotes.html">Release Notes</a></li>
|
||
|
<li><a href="../product/changeLog.html">Change Log</a></li>
|
||
|
<li><a href="../product/roadmap.html">Roadmap</a></li>
|
||
|
<li><a href="../product/compatibility.html">Compatibility</a></li>
|
||
|
<li><a href="../licenses/index.html">Licensing</a></li>
|
||
|
<li><a href="../product/install/index.html">Installation Overview</a></li>
|
||
|
<li><a href="../guide/appweb/users/gettingStarted.html">Getting Started</a></li>
|
||
|
<li><a href="../guide/appweb/users/index.html">Users Guide</a></li>
|
||
|
<li><a href="../product/project.html">Project Resources</a></li>
|
||
|
</ul>
|
||
|
<!-- EndDsi -->
|
||
|
</div>
|
||
|
<div class="contentLeft">
|
||
|
<h1>Compatibility</h1>
|
||
|
<p>Appweb supports the following standards:</p>
|
||
|
<ul>
|
||
|
<li><a href="http://www.w3.org/Protocols/rfc2616/rfc2616.html">HTTP/1.1</a></li>
|
||
|
<li><a href="http://www.w3.org/CGI/">CGI 1.1</a></li>
|
||
|
<li><a href="http://www.ietf.org/rfc/rfc1867.txt">Form-based File Upload in HTML</a></li>
|
||
|
<li><a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ECMA-262 for server
|
||
|
side JavaScript if using Ejscript</a></li>
|
||
|
</ul><a id="api"></a>
|
||
|
<h2 class="section">API Compatibility</h2>
|
||
|
<p>The Appweb APIs are evolving, and are thus subject to change between minor releases. The documentation
|
||
|
provides a <a href="../api/stability.html">Stability Classification</a> for each API group that reflects
|
||
|
their stability with regard to backwards compatibility.</p>
|
||
|
<p>We do <b>not</b> provide a blanket commitment to backward compatibility. Rather, we adopt a more
|
||
|
surgical approach on an API by API basis.</p>
|
||
|
|
||
|
<a id="r4"></a>
|
||
|
<h2>Migrating to Appweb 4</h2>
|
||
|
<p>Appweb 4 is an evolutionary release relative to Appweb 3. Some APIs have changed and new APIs have
|
||
|
been added for increased functionality. Appweb 4 uses a new memory allocator that does not require a
|
||
|
memory context as the first argument to most APIs. So many APIs have changed signature, while the underlying
|
||
|
functionality remains largely similar. The memory allocator uses garbage collection and this eliminates
|
||
|
the need to manually free up memory. You can migrate code from Appweb 3 to Appweb 4 with refactoring.</p>
|
||
|
<p>If you are migrating from Appweb 2, you should regard Appweb 4.X as a next generation web server.
|
||
|
You can migrate code from Appweb 2 to Appweb 4, however, you should anticipate significant refactoring
|
||
|
work throughout the transition.</p>
|
||
|
<a id="r2"></a>
|
||
|
<h2>Appweb 2</h2>
|
||
|
<p>Appweb 2 is now officially deprecated. </p>
|
||
|
</div>
|
||
|
</div>
|
||
|
<!-- BeginDsi "dsi/bottom.html" -->
|
||
|
<div class="bottom">
|
||
|
<p class="footnote">
|
||
|
<a href="../product/copyright.html" >© Embedthis Software LLC, 2003-2013.
|
||
|
All rights reserved. Embedthis, Appweb, ESP, Ejscript and Embedthis GoAhead are trademarks of Embedthis Software LLC.</a>
|
||
|
</p>
|
||
|
</div>
|
||
|
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
|
||
|
<script type="text/javascript">
|
||
|
google.load('search', '1', {language : 'en'});
|
||
|
google.setOnLoadCallback(function() {
|
||
|
var customSearchControl = new google.search.CustomSearchControl(
|
||
|
'000262706376373952077:1hs0lhenihk');
|
||
|
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
|
||
|
var options = new google.search.DrawOptions();
|
||
|
options.enableSearchboxOnly("http://appwebserver.org/search.html");
|
||
|
customSearchControl.draw('cse-search-form', options);
|
||
|
}, true);
|
||
|
</script>
|
||
|
<script type="text/javascript">
|
||
|
var _gaq = _gaq || [];
|
||
|
_gaq.push(['_setAccount', 'UA-179169-2']);
|
||
|
_gaq.push(['_trackPageview']);
|
||
|
(function() {
|
||
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||
|
})();
|
||
|
</script>
|
||
|
</body>
|
||
|
</html>
|