» Главная
eXcode.ru » Статьи » Web
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 5





Ведущий раздела: LedWorm
Описание: Статьи по WEB-технологиям


Подразделы:

XML (5)XSLT (4)Apache (7)
Flash MX для проф. (13)Введение в CGI (6)Введение в HTML (7)
Применение CSS (5)Основы сетей передачи данных (14)Основы локальных сетей (19)

«1» «2» «3» «4» «5» 

Абсолютный и относительный путь к сценарию
Обратим внимание на поле actionтэга <form>. Поскольку он не предваряется слэшем (/), то представляет собой относительный путь к сценарию. То есть браузер при анализе тэга попытается выдать запрос на запуск сценария, имеющего имяscript.cgiи расположенного в том же самом каталоге, что и форма (точнее, HTML-документ с формой).


Что такое формы и для чего они нужны
Итак, мы знаем, что наиболее распространенными методами передачи данных между браузером и сценарием являются GETи POST. Однако вручную задавать строки параметров для сценариев и к тому же URL-кодировать их, согласитесь, довольно утомительно. Давайте посмотрим, что же язык HTML предлагает нам для облегчения жизни.


Кодировки и форматы данных
Ранее упоминалось, что и в методе GET, и в методе POSTданные доставляются в URL-кодированном виде. Что это значит.


Метод POST
Мы подошли к сути метода POST. А что, если мы в предыдущем примере зададим вместо GETслово POSTи после последнего заголовка (маркера ) начнем передавать какие-то данные. В этом случае сервер их воспримет и также передаст сценарию. Только нужно не забыть проставить заголовок Content-length в соответствии с размером данных, например:


Эмуляция браузера через telnet
Между прочим, при передаче запроса браузер "притворяется" пользователем, который запустил telnet-клиента (программу, которая, грубо говоря, умеет подключаться к заданному IP-адресу и порту, посылать по нему то, что набирается на клавиатуре, и отображать на экране поступающие "снаружи" данные) и вводит строки заголовков вручную — т. е., в текстовом виде. Например, вместо того чтобы набрать в браузере http://www.somehost.com/, попробуйте в командной строке ОС (Unix, Windows 95/98/NT/2000 или любой другой) выполнить следующие команды (вместо <Enter> нажимая соответствующую клавишу):


Заголовки, метод GET и POST
Задумаемся на минуту, что же происходит, когда мы набираем в браузере строку somestringи нажимаем <Enter>. Браузер посылает серверу запрос somestring. Нет, конечно. Все немного сложнее. Он анализирует строку, выделяет из нее имя сервера и порт (а также имя протокола, но нам это сейчас не интересно), устанавливает соединение с Web-сервером по адресу сервер:порти посылает ему что-то типа следующего:


Секреты URL
Помните, я выше описывал, как выглядит URL. Каюсь, приврал. На самом деле URL имеет более "длинный" вид:

http://www.somehost.com:80/path/to/document.ext.parameters

Как нетрудно заметить, может существовать еще строка parameters, следующая после вопросительного знака. В некоторой степени эта строка аналогична командной строке ОС. В ней может быть все, что угодно, она может быть любой длины (однако следует учитывать, что некоторые символы должны быть URL-закодированы, см. ниже). Вот как раз эта-то строка и передается CGI-сценарию.


Интерфейс CGI
Термин CGI (Common Gateway Interface — Общий шлюзовой интерфейс) обозначает набор соглашений, которые должны соблюдаться Web-серверами при выполнении ими различных Web-приложений. Вскоре мы расшифруем его смысл гораздо более подробно. Фактически, до недавнего времени все Web-программирование представляло собой программирование CGI-приложений. В последнее время ситуация изменилась. И хотя CGI все еще остается негласным стандартом для Web-приложений, механизм работы CGI-программ несколько обновился.


Сетевая терминология
Сервер, Узел, Порт, Сетевой демон, Провайдер, Хост, Виртуальный хост, Хостинг-провайдер, хостер, Хостинг, сайт, HTML-документ, Web-программирование


Адресация с Сети
Машин в Интернете много, это факт. Так что вопрос о том, как можно их эффективно идентифицировать в пределах этой сети, оказывается далеко не праздным. Кроме того, практически все современные операционные системы работают в многозадачном режиме (поддерживают одновременную работу нескольких программ). Это значит, что возникает также вопрос о том, как нам идентифицировать конкретную систему или программу, желающую обмениваться данными через Сеть. Эти две задачи решаются стеком TCP/IP при помощи IP-адреса и номера порта. Давайте посмотрим, как.


«1» «2» «3» «4» «5» 

Имя:

Пароль:



Регистрация

В какой обстановке Вы программируете?
.. с пивом и друзьями ночью
9% (16)
.. без пива, но с друзьями
2% (3)
.. с кофеваркой в обнимку
23% (40)
.. с мешком чего-нибудь хрустящего
15% (27)
.. один, но с Rammstein ..
51% (89)

Проголосовало: 175
Чайник со свистком - это милиционер за компьютером.
Рейтинг: 7.3/10 (7)
Посмотреть все анекдоты