Конфигурирование сервера HTTPD и формат языка HTML

Разобраться стоит с этими характеристиками: Alias - где то должна лежать расшифровка. а сервер будет ее подставлять. Вот только где ?

Нужно задавать так:
           &  -  &
           "  -  "
           >  -  >
           <  -  <
          >>  -  >>
          <<  -  <<
         (C)  -  ╘   или ╘
         (R)  -  ╝
              -  -
              -  -
          <=  -  <=
          >=  -  >=
 Extra space  -   
<title> Заголовок всего документа </title>

Заголовок 2-го уровня


<A HREF="Dokument.html#A1.4.1.1">Ссылка на подраздел в документе</A>
<A HREF="#2" taget=newwindow>Ссылка открываемая в другом окне</A>
<A NAME = "A1.4.1.1">Так это место должно быть помечено в Документе</A>
ПримерИсточник
  • Одна позиция
  • Другая позиция
<ul>
<li> Одна позиция
<li> Другая позиция
</ul>
ПримерИсточник
  1. Одна позиция
  2. Другая позиция
<ol>
<li> Одна позиция
<li> Другая позиция
</ol>
ПримерИсточник
  • Одна позиция
  • Другая позиция
  • <menu>
    <li> Одна позиция
    <li> Другая позиция
    </menu>
  • Одна позиция
  • Другая позиция
  • <dir>
    <li> Одна позиция
    <li> Другая позиция
    </dir>
    ПримерИсточник
    Название пункта
    Текст, расписывающий содержимое пункта
    Название пункта
    Текст, расписывающий содержимое другого пункта
    <dl [compact] >
    <dt> Название пункта
    <dd> Текст, расписывающий содержимое пункта
    <dt> Название пункта
    <dd> Текст, расписывающий содержимое другого пункта
    </dl>

    Пример

            Преформатированный     фрагмент текста
    

    Источник

    <pre>
            Преформатированный     фрагмент текста
    </pre>
    

    Пример

            Преформатированный     фрагмент текста в ширину 80
    

    Источник

    <pre width="80">
            Преформатированный     фрагмент текста в ширину 80
    </pre>
    

    Пример

    Устанавливает общий отступ вправо. Вынесенный вправо фрагмент текста

    Источник
    <BLOCKQUOTE>
    Устанавливает общий отступ вправо.
    Вынесенный вправо фрагмент текста
    </BLOCKQUOTE>

    Горизонтальная черта <hr>


    Окончание параграфа <p>

    Жесткий конец строки <br> Текст между тагами <nobr></nobr> не будет переноситься на новую строку каким бы длинным он не был ............................................................

    <b></b> Bold жирный текст
    <i></i> Itallic курсив текст
    <u></u> Underline подчеркнутый Работает только в Netscape 3
    <tt></tt> Typewriter текст с фонтом фиксированной ширины
    <blink></blink> Blink мигающий текст
    <strike></strike>Strike перечеркнутый текст <dfn></dfn> Definition. Определяемое слово italic
    <em></em> Emphasis. Ударение italic
    <cite></cite> Titles of books. Цитата italic
    <code></code> Programm. Программный текст fixed
    <kbd></kbd> User keyboard entry. bold fixed
    <samp></samp> Status message fixed
    <var></var> Variable. italic
    <strong></strong> Strong emphasis. bold
    <address></address>
    Выделяется адрес italic
    _BODY_ таги срабатывают только если расположены в самом начале документа

    <body bgcolor="#000000" text="#ffffff" link="#FFFF00" vlink="#0000ff">
    А так устанавливают собственные цвета во всем документе

    <BODY bgcolor="#000000" LINK="#ff0000" text="#ffddbb" vlink="#aaaaaa">
    А так делали траурные колера, когда протестовали.

    Пример
    Текст бОльшего размера, и покрашенный в красный цвет, с заданным типом фонта

    Источник
    <font size=+1 color=red face="Helvetica">
    Текст большего размера, и покрашенный в красный цвет, с заданным типом фонта
    </font>

    <basefont size=3> Дальше пойдет текст с фонтом заданного размера

    <bgsound src=soundfile.au loop=10> а так же background звук

    <A HREF="Lightweight.html">Low impact

    <img src="kartinka.xbm">
    <img src="kartinka.gif" align=top align=middle>
    Если нужен текст сбоку от картинки (text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text)

    <img src="kartinka.jpg" align=left hspace=100>
    Отступ текста от картинки (text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text)
    <img src="kartinka.gif" LOWSRC=kartinka_bw.gif АLT="Вверх" height=102 width=50>

    Так подкладывают BACKGROUND
    <BODY background="/icons/designer/bk.gif">
    ...
    </BODY>

    Пример
    tr - задает строку СтолбецСтолбец
    Внутри таблицы может быть такой таг, Подзаголовок?

    Источник
    <table border=1 cellspacing=5 cellpadding=5 bgcolor=#00ffff>
    <tr>
    <td> tr - задает строку Столбец</td>
    <td>Столбец</td>
    </tr>
    </table>
    <caption>Внутри таблицы может быть такой таг, Подзаголовок?</caption>

    Пример
    Табличка фиксированной ширины,не зависящая от размеров внутреннего текста

    Источник
    <table width=300>
    <tr>
    <td> Табличка фиксированной ширины,</td>
    <td>не зависящая от размеров внутреннего текста</td>
    </tr>
    </table>


    Back to my home page
    moshkow@ipsun.ras.ru
    <A HREF="/misc/bottom.map">
    <IMG SRC="/images/navigation_bar.gif" WIDTH=468 HEIGHT=32 BORDER=0 USEMAP="#navmap" ISMAP>
    <MAP NAME="navmap">
    <AREA COORDS="0,0,63,31" HREF="/index.html">
    <AREA COORDS="63,0,136,31" HREF="/comprod/mirror/index.html">
    <AREA COORDS="136,0,203,31" HREF="/assist/customer_service">
    <AREA COORDS="203,0,267,31" HREF="/toc.html">
    <AREA COORDS="267,0,329,31" HREF="/search/index.html">
    <AREA COORDS="329,0,415,31" HREF="/ads/index.html">
    <AREA COORDS="415,0,466,31" HREF="http://cgi.netscape.com/cgi-bin/showframes.cgi">
    <AREA COORDS="0,0,467,31" HREF="/index.html">
    </MAP>

    Клиент открывает tcp соединение с хостом www.host.com на порт (обычно 80) и говорит туда GET /local/url/file/name.html HTTP/1.0

    Все они, кроме GET необязательны
    . . .
    ^M^J - пустая строка - конец заголовков - конец запроса

    Обратно вываливается ответ сервера:

    Упражнение: скажите
    $ telnet www 80
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    GET /index.html HTTP/1.0
    
    И потом два раза нажмите на Enter Полная спецификация лежит, например на www.apache.org
    1. Чтобы SSI выполнялись, необходимо задать в конфигурационных файлах сервера:
      /etc/httpd/conf/access.conf :------------------------
      <Directory /home/httpd/docs>  # "Включить"
      Options All # Options Includes
      /etc/httpd/conf/srm.conf :------------------------
      AddType text/x-server-parsed-html .shtml
      
      или даже
      AddType text/x-server-parsed-html .html
      
    2. SSI отрабатываются только в файлах с расширением .shtml

    Примеры:
    <!--#exec cmd="ls -l" -->
    <!--#include virtual="bottom.html" -->
    <!--#element attribute=value attribute=value ... -->

    The value will often be enclosed in double quotes; many commands only allow a single attribute-value pair.

    The allowed ELEMENTS are:

    Include variables These are available for the echo command, and to any program invoked by the document. If server side includes are enabled, you will see data values below:
    The date is:                      <!--#echo var="DATE_LOCAL"-->
    The current version of the server <!--#echo var="SERVER_SOFTWARE"-->
    The CGI gateway version           <!--#echo var="GATEWAY_INTERFACE"-->
    The server name                   <!--#echo var="SERVER_NAME"-->
    This file is called:              <!--#echo var="DOCUMENT_NAME"-->
    This file's URI                   <!--#echo var="DOCUMENT_URI"-->
    The query string                  <!--#echo var="QUERY_STRING_UNESCAPED"-->
    This file was last modified:      <!--#echo var="LAST_MODIFIED" -->
    The size of the unprocessed file  <!--#fsize virtual="httpd.txt"-->
    sample.html was last modified     <!--#flastmod virtual="httpd.txt"-->
    You are using                     <!--#echo var="HTTP_USER_AGENT"-->
    You came from                     <!--#echo var="HTTP_REFERER"-->
    

    и внешними, вызываемыми программами - gateeway'ями. Сам CGI-script должен лежать в /home/httpd/cgi-bin тогда его находят (или в других каталогах, описанных в acces.conf Данные передаются в командной строке, через переменные окружения, и через стандартный ввод. Возвращаются на стандартный вывод, в начале должна стоять "волшебная строка"

    Если добавить в конфигурационный файл

    /etc/httpd/conf/srm.conf :------------------------
    AddType application/x-httpd-cgi .cgi
    

    То CGI-скрипты можно будет клась в любой подкаталог дерева документов - с расширением .cgi

    Вызывается одна и та же программа, но ей передается 0,1,1 или 2 аргумента: extra path - "добавочный маршрут", идущий вслед за именем экзешника query - длинная строка после знака "?"

    на extra path работает image map - им передается имя описателя картинки query передается заполненным ISINDEX

    Параметры передаются в переменных окружения.

    REMOTE_ADDR=127.0.0.1
    REMOTE_HOST=localhost
    HTTP_REFERER=http://www.ac.msk.su:80/cgi-bin/html-KOI?KSP/bachurin.txt
    REQUEST_METHOD=GET
    QUERY_STRING=query
    PATH_INFO=/marshrut
    PATH_TRANSLATED=/home/httpd/docs/marshrut
    SCRIPT_NAME=/cgi-bin/proba
    HTTP_USER_AGENT=NCSA Mosaic for the X Window System/2.4  libwww/2.12 modified
    
    А теперь вот как оформляются формы с checkbox'ами:

    Пример

    Press me.

    Источник
    <FORM ACTION="http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi" METHOD="POST">
    <INPUT TYPE="checkbox" NAME="button" VALUE="on">Press me.<p>
    <INPUT TYPE="submit" VALUE="Submit"><p>
    </FORM>

    # ISINDEX - параметр запроса передается программе CGI в $1
    # В форме METHOD=GET - там вызывается команда которой передается
    # аргумент в переменной окружения QUERY_STRING
    # http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi?button1=on&button2=off
    # А вот как работает POST, и PUT. Дополнительная информация проталкивается
    клиентом на сервер. Сервер подает ее cgi-программе на стандартный ввод.
    длина посылаемого файла устанавливается в переменной окружения CONTENT_LENGTH
    а тип данных - в CONTENT_TYPE
    FORM ACTION="http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi" METHOD="POST"
    

    Пример

    Press me.

    Источник

    <FORM ACTION="/cgi-bin/proba" METHOD="GET">
    <INPUT TYPE=hidden   NAME="pg" size=0  VALUE="hidden from user information">
                ^^^^^ поле полезно чтоб хранить информацию о "сеансе"
    <INPUT TYPE=checkbox NAME="button" VALUE="on">Press me.<p>
    <INPUT TYPE=submit                 VALUE="Submit">
    <INPUT TYPE=reset                  VALUE="Clear form">
    <INPUT TYPE=text     NAME=d0       VALUE=""  SIZE=12 MAXLENGTH=32>
    <INPUT TYPE=password NAME=passwd>
    <TEXTAREA  NAME="comments" ROWS=2 COLS=60>Текст внутри формы</TEXTAREA>
       <SELECT NAME=what MULTIPLE>
          <OPTION VALUE=web  SELECTED>the Web
          <OPTION VALUE=news >Usenet
       </SELECT>
    </FORM>
    

    Content-type: text/html
    Содержимое, которое кидается сквозь нашего сервера - клиенту

    Если я генерю не содержимое, а только ссылку, то:

    Location: /path/doc.txt
    или
    Location: gopher://gopher.ncsa.uiuc.edu/

    Генерим текст в чистом серверном виде - он поедет клиенту сразу, без дополнительной фильтрации:

    --- start of output ---
    HTTP/1.0 200 OK
    Date: Tuesday, 26-Dec-95 15:17:10 GMT
    Server: NCSA/1.3
    MIME-version: 1.0
    Content-type: text/html
    Last-modified: Tuesday, 24-Dec-95 15:15:41 GMT
    Content-length: 3132
    This is a plaintext document generated on the fly just for you.
    --- end of output ---
    
    Подставляйте туда соответствующие значения переменных $SERVER_PROTOCOL $SERVER_SOFTWARE Автоподстановка URL с timeout'ом. Подставить в начало документа:
    <META HTTP-EQUIV="Refresh" CONTENT="12; URL=http://www.ras.ru/~moshkow/">
    Дальше идет местный HTML-документ - который через 12 секунд будет автоматически заменен на вышеуказанный URL

    Пример

    I'm entering for the first time from (city, state/country)

    Источник
    <form method=POST action="mailto:rauli@megabaud.fi">
    I'm entering for the first time from (city, state/country) <INPUT size=60 name="From">
    <br><br>
    <input type="submit" value="Click here (only the first time, please)"><p>
    </form>

    Content-type: text/html
    Set-Cookie: cookiename=valueofcookie; expires=Saturday, 28-Feb-96 23:59:59 GMT; path=/cgi-bin/mycgiprogram
    

    Эта штучка будет автоматом отсылаться в наш сервер клиентом, как только он ее получил

    Если сказать так, то клиент останется на старом мест, и не будет переходить по ссылке
    Status: 204 No Content

    Создаем в каталоге файл .htaccess такого содержания
    order allow,deny
    allow from all
    deny from polimos.ras.ru
    


    Copyright © CIT