Отправляет email-рассылки с помощью сервиса Sendsay

[TC] shtml

Здравствуйте, industry.

подскажите пожалуйста, а как на некоторых сайтах делаются ссылки вида
http://www.sitename.ru/index.shtml?id=299789
это тоже связано с собиранием страницы из файлов inc или как вообще
организовывается такая система?

--
С уважением,
Дмитрий Будников mailto:dima_musica***@m*****.ru
незабывайте, С водкой всё идёт хорошо кроме ног.

Ответить   Wed, 30 Aug 2006 22:55:29 +0900 (#585585)

 

Ответы:

Здравствуйте!

У моей знакомой недавно возникла проблема: после включения компьютера через несколько
минут он выключается, так может быть несколько раз, а потом все нормально работает.
В чем может быть дело?

С уважением, Ирина

Ответить   Thu, 31 Aug 2006 10:35:29 +0400 (#585595)

 

Доброго времени суток, Ирина.

Вы писали:

Один из вариантов - высохли конденсаторы на материнской плате.

Ответить   Иван Штефуряк Thu, 31 Aug 2006 10:36:00 +0300 (#585620)

 

Здравствуйте, Дмитрий,

shtml - расширение файлов в технологии SSI (инклуды на стороне
сервера). То есть, некоторое подобие программы, которую выполняет
сервер. Собственно, программа сводится к выполнению указанных
инклудов, однако и это элементарное действие невозможно для простого
html.

Знак вопроса в http-адресе отделяет собственно адрес вызываемой
страницы от строки передаваемых параметров. В данном случае передаётся
один параметр с именем id и значением 299789. Параметры может
анализировать только программа, выполняемая на стороне сервера.
Поскольку сам shtml не является программой, то сам он и не может
принимать подобные параметры. Скорее всего они обрабатываются каким-то
фильтром веб-сервера. Обычно параметры присутствуют при ссылках на
программные или скриптовые файлы типа php, asp и тому подобное. В
таких файлах есть все необходимые инструменты для приёма и обработки
параметров.

Параметры обычно формируются тоже программой. Например, на сайте есть
база данных с описанием файлов, которые можно с сайта скачивать. Для
скачивания одного файла делается только одна страница (а не отдельная
страница для каждого файла), куда передаётся параметр идентифицирующий
файл. Соответственно, при выводе файлов в список генерируется ссылка
на страницу скачивания с параметром, идентифицирующий файл.

--
С наилучшими пожеланиями
Владимир Лукьянов
Москва
mailto:lvu20***@y*****.ru

Ответить   Thu, 31 Aug 2006 11:26:10 +0400 (#585612)

 

Здравствуйте, Владимир.

Вы пишите:

Все cgi-переменные доступны в директивах ssi и могут быть использованы, например,
в условных директивах для формирования
определенного вида страницы.

Успехов. Анатолий.

Ответить   "i_chay" Thu, 31 Aug 2006 20:40:09 +0500 (#585800)

 

Здравствуйте, Анатолий,

Я не совсем Вас понимаю. Почему Вы называете эти переменные cgi?
Насколько я понимаю, cgi это всего лишь один из форматов веб-серверных
программ, которые поддерживают обработку параметров, причём, формат
устаревший. Вообще говоря, он характерен для апача, а под iis является
экзотикой, хотя и возможен. Ни php, ни asp си-джи-айями не являются, и
тем не менее, прекрасно поддерживают параметры адресной строки. То,
что вы пишите, наверное, справедливо для линукса, в частности для
апача, не мне кажется, для iis это весьма спорно.

Вообще говоря, параметры адресной строки никак к cgi не привязаны, они
доступны в любых скриптовых серверных языках и приложениях. Далее.
Совершенно не понимаю, как cgi Вы увязываете с ssi, на мой взгляд это
совершенно независимые и самостоятельные вещи, хотя принято считать,
что когда-то ssi произошёл от Perl.

Очень Вас прошу, пожалуйста, приведите пример ssi-файла без скриптов,
который поддерживает параметры адресной, мне это очень интересно для
практических нужд, но до сих пор я такого не встречал. Заранее
благодарю Вас.

--
С наилучшими пожеланиями
Владимир Лукьянов, Москва

Ответить   Fri, 1 Sep 2006 01:20:57 +0400 (#585877)

 

Здравствуйте, Владимир.

Нет, cgi - это спецификация, определяющая формат того, как http-сервер передает
приложениям параметры, содержащиеся в
http-заголовке, а также формат того, в каком виде приложение передает http-серверу
данные, чтобы он отослал их в браузер клиента.
Термин "cgi-приложения" менее формален и в обиходе так называют приложения, использующие
механизмы, специфицированные в cgi.
Механизм cgi наиболее универсален и не зависит от конкретного http-сервера, поэтому
cgi-приложение будет (при соответствующей
перекомпиляции под платформу) работать и под апачем, и под iis. В то же время
модуль для апача не будет работать под iss, так же,
как и какой-нибудь isapi-"довесок" для iis никак не прикрутить к апачу.

То, что вы называете параметрами адресной строки, попадает на вход http-сервера,
а спецификация cgi определяет то, в какую
форму это должно быть преобразовано сервером для передачи приложению (скрипту
и т.п.). Один из механизмов передачи этих данных
предусматривает, что http-сервер создает ряд
переменных окружения (которые и называются cgi-переменными, потому что их перечень
и содержание определены спецификацией cgi). в
группе запрос-ориентированных переменных есть, например,
QUERY_STRING, которая содержит строку http-запроса (то есть, в вашей терминологии,
параметры адресной строки).
В аспекте ssi корректнее говорить именно о cgi-переменных, а не о параметрах
адресной строки, потому что ssi-скрипты имеют доступ
ко всем переменным окружения сервера, существующим в момент выполнения такого
скрипта.

Не совсем понятна формулировка "без скриптов", ибо ssi-файлы суть скрипты. Должно
быть, речь идет о внешних скриптах, не
являющихся скриптами ssi.
Согласен, пример найти до ужаса сложно, поэтому сообщаю ссылку:
http://www.elibrus.1gb.ru/books/webdesign/ssi1.rar

Но учитывая ваш интерес именно для практических нужд, привожу еще и пример:
<!--#if expr="$QUERY_STRING=id\=1" -->

<!--#else -->

<!--#endif -->

Успехов. Анатолий.

Ответить   "i_chay" Mon, 4 Sep 2006 13:58:30 +0500 (#586803)

 

Здравствуйте, Анатолий,

Большое спасибо за разъяснения, и за примеры. Мне очень помогли.
Рекомендую и всем интересующимся вникнуть.

--
С наилучшими пожеланиями
Владимир Лукьянов, Москва

Ответить   Mon, 4 Sep 2006 19:09:26 +0400 (#586931)