This file is indexed.

/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>