/usr/share/doc/stilts/sun256/server.html is in stilts-doc 3.1.2-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="sun-style.css">
<title>server: </title>
</head>
<body>
<hr>
<a href="secB.16.1.html">Next</a> <a href="secB.15.2.html">Previous</a> <a href="cmdUsage.html">Up</a> <a href="index.html">Contents</a> <br> <b>Next: </b><a href="secB.16.1.html">Examples</a><br>
<b>Up: </b><a href="cmdUsage.html">Command Reference</a><br>
<b>Previous: </b><a href="secB.15.2.html">Examples</a><br>
<hr>
<hr>
<h2><a name="server">B.16 <code>server</code>: </a></h2>
<p><code>server</code> runs an HTTP server which makes some or all
of the various STILTS <a href="cmdUsage.html">tasks</a> available to
local or remote clients making HTTP requests rather than using the
more usual command line interface.
</p>
<p>When you run <code>server</code> it will start up a server which
runs until it is interrupted, and write to the screen the <em>base URL</em>
at which it can be accessed, for instance
"<code>http://localhost:2112/stilts/</code>".
If you point your browser here you will see some examples (hyperlinks to
server requests) of how to use the server.
Currently there are two main sets of capabilities:
<dl>
<dt><strong>Tasks (<em>baseURL</em><code>/task/</code><em>task-name</em>)</strong></dt>
<dd>There is a URL as above associated with each STILTS task provided
by the server. The task parameters are passed in the usual
way for HTTP queries, using
<code>application/x-www-form-urlencoded</code> (see e.g. the
<a href="http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.1">HTML FORM</a> specification).
Some examples are given in the
<a href="server-client-examples.html">Client Examples</a> subsection below.
Either HTTP GET or POST methods may be used;
since the task invocations will normally be idempotent, GET is more
respectable, but long URLs can cause trouble in some circumstances
(MS IE apparently imposes a limit of about 2000 characters)
so POST may be preferable for lengthy invocations.
</dd>
<dt><strong>Forms (<em>baseURL</em><code>/form/</code>)</strong></dt>
<dd>There are a couple of example HTML Forms which can be used to
access the server tasks. These by no means show all the capabilities
of the tasks that they use, they are just intended to be examples of
how forms can be used in this way.
</dd>
</dl>
In general if you request a URL which contains no useful information,
an attempt will be made to return an HTML page directing you to a
more useful starting point.
</p>
<p>You might want to run STILTS in server mode if you are providing
a web service to external users which is able to access files residing
on the server, for instance generating table plots or row selections
on the fly.
This can be done without the server mode, for instance by invoking
the <code>stilts</code> script or java from a CGI script to serve
each request, but using server mode has two advantages:
first it provides correct HTTP headers such as Content-Types,
and secondly it avoids the Java startup overheads for each invocation.
Note however that in its current form no great attention has been paid
to security, so it may be possible for clients to read and write files
and expend significant system resources by making certain requests to the
server. Anyone exposing the STILTS HTTP server directly to external
clients should bear this in mind.
</p>
<p>For more flexibility you can run STILTS in servlet mode.
See the javadocs and sources of the
<code>uk.ac.starlink.ttools.server.TaskServlet</code> class.
The <code>server</code> command is a fairly thin wrapper around this,
which simply deploys the servlet in an embedded web application container
(<a href="http://jetty.mortbay.org/">Jetty</a>).
By using the servlet class in your own custom web application instead you
can customise the way it is accessed, for instance providing improved
security.
</p>
<p><strong>Note:</strong>
The <code>server</code> command and associated servlet code are
at time of writing (v2.0) experimental, and probably buggy and missing some
features which ought to be present.
If you have requirements which are not currently provided, please
contact the author for discussion.
</p>
<p><strong>Note:</strong>
The <code>server</code> command is not available in the Debian package yet.
</p>
<ul>
<li><a href="secB.16.1.html">B.16.1 Examples</a></li>
<li><a href="server-client-examples.html">B.16.2 Client Examples</a></li>
</ul>
<hr><a href="secB.16.1.html">Next</a> <a href="secB.15.2.html">Previous</a> <a href="cmdUsage.html">Up</a> <a href="index.html">Contents</a> <br> <b>Next: </b><a href="secB.16.1.html">Examples</a><br>
<b>Up: </b><a href="cmdUsage.html">Command Reference</a><br>
<b>Previous: </b><a href="secB.15.2.html">Examples</a><br>
<hr><i>STILTS - Starlink Tables Infrastructure Library Tool Set<br>Starlink User Note256<br>STILTS web page:
<a href="http://www.starlink.ac.uk/stilts/">http://www.starlink.ac.uk/stilts/</a><br>Author email:
<a href="mailto:m.b.taylor@bristol.ac.uk">m.b.taylor@bristol.ac.uk</a><br>Mailing list:
<a href="mailto:topcat-user@jiscmail.ac.uk">topcat-user@jiscmail.ac.uk</a><br></i></body>
</html>
|