The following tables show an example of an authorization data set and an example of an HTTP headers data set, respectively. Notice how the HTTP headers data set helps to provide an extra level of restriction on the files that are being served.
In the examples, a user has authorization to request a file from
the /*/*/public_html/* tree.
If a user requests a file named test.bat
from this tree, the file is not served because the HTTP headers
data set does not list a bat
extension. Similarly, the user has access to
all catalog entries in the SASHELP library, but an SCL entry cannot be
served because the HTTP headers
data set does not contain an entry for
this type of catalog entry.
The authorization data set that is represented by the following table allows users to serve any external file from the /*/*/public_html/* tree or any catalog entry in the SASHELP or PERMDATA libraries.
FILETYPE | PATH |
---|---|
e | `"/":"/":"/public_html/": |
c | `"sashelp.": |
C | `"permdata.": |
The following table represents a sample HTTP headers data set (the sample SASHELP.FSHEAD data set that is provided with the FILESRV program). Note the following features:
External files and catalog entries with the extension gif
or jpeg
are listed as binary files and are served with 3 headers.
External files and catalog entries with the extension output
are listed as text files and are served as plain text.
pdf
,
zip
, and tar
are listed as binary files and are served with headers
that invoke the appropriate helper applications, if they are
available on the client.
EXT | DATATYPE | FILETYPE | HEADER |
---|---|---|---|
bmp |
b |
e |
Content-type: image/bmp |
csv |
t |
e |
Content-type: application/vnd.ms-excel |
csv |
t |
e |
Content-disposition: attachment; filename=temp.csv |
doc |
b |
e |
Content-type: application/msword |
doc |
b |
e |
Content-disposition: attachment; filename=temp.doc |
exe |
b |
e |
Content-type: application/octet-stream |
exe |
b |
e |
Content-disposition: attachment; filename=temp.exe |
gif |
b |
e |
Content-type: image/gif |
gif |
b |
e |
Pragma: no-cache |
gif |
b |
e |
Expires: Thu, 01 Dec 1994 16:00:00 GMT |
gif |
b |
c |
Content-type: image/gif |
gif |
b |
c |
Pragma: no-cache |
gif |
b |
c |
Expires: Thu, 01 Dec 1994 16:00:00 GMT |
html |
t |
e |
Content-type: text/html |
htm |
t |
e |
Content-type: text/html |
html |
t |
c |
Content-type: text/html |
jpeg |
b |
e |
Content-type: image/jpeg |
jpeg |
b |
e |
Pragma: no-cache |
jpeg |
b |
e |
Expires: Thu, 01 Dec 1994 16:00:00 GMT |
jpeg |
b |
c |
Content-type: image/jpeg |
jpeg |
b |
c |
Pragma: no-cache |
jpeg |
b |
c |
Expires: Thu, 01 Dec 1994 16:00:00 GMT |
jpg |
b |
e |
Content-type: image/jpeg |
jpg |
b |
e |
Pragma: no-cache |
jpg |
b |
e |
Expires: Thu, 01 Dec 1994 16:00:00 GMT |
log |
t |
e |
Content-type: text/plain |
log |
t |
c |
Content-type: text/plain |
lst |
t |
e |
Content-type: text/plain |
output |
t |
e |
Content-type: text/plain |
output |
t |
c |
Content-type: text/plain |
pdf |
b |
e |
Content-type: application/pdf |
pdf |
b |
e |
Content-disposition: attachment; filename=temp.pdf |
png |
b |
e |
Content-type: image/png |
png |
b |
e |
Pragma: no-cache |
png |
b |
e |
Expires: Thu, 01 Dec 1994 16:00:00 GMT |
png |
b |
c |
Content-type: image/png |
png |
b |
c |
Pragma: no-cache |
png |
b |
c |
Expires: Thu, 01 Dec 1994 16:00:00 GMT |
ppt |
b |
e |
Content-type: application/vnd.ms-powerpoint |
ppt |
b |
e |
Content-disposition: attachment; filename=temp.ppt |
ps |
t |
e |
Content-type: application/postscript |
tar |
b |
e |
Content-type: application/x-tar |
text |
t |
e |
Content-type: text/plain |
txt |
t |
e |
Content-type: text/plain |
xls |
b |
e |
Content-type: application/vnd.ms-excel |
zip |
b |
e |
Content-type: application/x-zip-compressed |