# Server Side Includes

This is a test document for the `.SHTML` extension files. This documents URL is `` (actual file: ``), last modified .

This is the that this document has been accessed (yes that's correct ... the document is used when batch testing the server!)

It is possible to include another SSI file. The following blue section has been `<!--#include virtual="shtml_include1.shtml">`ed ...

## "#echos":

"" | browser accepted content types
"" | request host and port destination
"" | referring document
"" | browser identification string
"" | request path
"" | current document VMS file name
"" | request query string
"" | browser host address
"" | browser host name
"" | authenticated user
"" | server host name
"" | server host port
"" | Request HTTP protocol version
"" | Server HTTP protocol version
"" | server identification string

## This request has been made via the HTTP/2 HTTP/1.n protocol

    <!--#if var={request_protocol} eqs="HTTP/2" -->
    <u>HTTP/2</u>
    <!--#else-->
    <u>HTTP/1.<i>n</i></u>
    <!--#endif-->

## Let's include a file using:

    <!--#include file="wasd_root:[exercise]shtml_include1.html" -->

## That same file between <LISTING></LISTING> tags:

## The same file, this time using a VIRTUAL specification:

    <!--#include virtual="../exercise/shtml_include1.html" -->

## Size of the file:

    <!--#fsize file="wasd_root:[exercise]shtml_include1.html" -->

We can determined the size of the file ...

## Creation date:

    <!--#fcreated file="wasd_root:[exercise]shtml_include1.html" -->

We can determined the creation date/time of the file ...

## Last modification date:

    <!--#flastmod file="wasd_root:[exercise]shtml_include1.html" -->

We can determined the last modification date/time of the file ...

## ``Index of'' this directory:

(The blue background is just to delineate the extent of the listing)

    <!--#dir virtual="*.*" -->

## More controlled ``Index of'' HTML files in this directory:

    <!--#dir virtual="*.html" par="layout=UL_S:b&delimit=none&nops=yes&readme=no" -->

## Now some allowed DCL commands:

    <!--#dcl say="f$time()" -->

    <!--#dcl say="4+5" -->

    <!--#dcl say="\"<I>hello</I>\"" -->

    <!--#dcl dir="wasd_root:[exercise]" -->

    <!--#dcl show="process" -->

    <!--#dcl show="users/node" -->

## Now some privileged DCL commands:

    <!--#dcl exec="show sym www_*" -->

    <!--#exec cmd="show sym *" -->

## Look at the source file:

    <!--#include virtual="shtml.shtml" type="text/plain" -->

the source of this document follows:

## Finally a broken one:

    <!--#includ e virtual="shtml.shtml" type="text/plain" -->