Как
данные передаются по Сети
Как
вы уже знаете, для пересылки данных по Интернету, да и по любой локальной или
глобальной компьютерной сети, используется особый набор .правил, называемый
протоколом. Протокол определяет, каким образом данные будут шифроваться и упаковываться
для последующей передачи по сети. Естественно, что и передающая, и принимающая
программы должны поддерживать один и тот же протокол, чтобы "понять"
друг друга. (Иначе возникнет так называемая несовместимость по протоколу передачи
данных, штука весьма неприятная.) Собственно, уже говорилось об интернет-протоколах
и повторяться сейчас нет смысла.
Также
вы знаете, что для пересылки по Сети Web-страниц и связанных с ними файлов (графических
изображений, звуков, архивов и т. п.) используется протокол HTTP. Он же применяется
и для передачи данных, причем для этого предусмотрены два метода передачи данных.
Оба способа широко используются в интернет-программировании и имеют свои преимущества
и недостатки. Давайте их рассмотрим.
Первый
способ носит название GET по значению соответствующего параметра формы. При
его использовании данные передаются как часть интернет-адреса в HTTP-запросе.
Как
вы помните, Web-обозреватель для того, чтобы получить от Web-сервера нужный
ему файл, отправляет этому серверу так называемый HTTP-запрос, включающий в
себя интернет-адрес необходимого файла. Так вот, данные могут быть переданы
как часть этого адреса.
Возьмем,
например, такой набор данных, приведенный чуть выше:
name1
= Ivan surname = Ivanovich name2 = Ivanov age = 30
Теперь
подготовим его для пересылки по методу GET (сами данные выделены полужирным
шрифтом):
http://www.somesite.ru/bin/program.exe?name1=Ivan&surname2=Ivanovich&
name2=Ivanov&age=30
Как
видите, пересылаемые по методу GET данные помещаются в самый конец интернет-адреса
и отделяются от него вопросительным знаком. При этом пары "имя" =
"значение" отделяются друг от друга знаком "коммерческое и"
("&"). Все очень просто и наглядно.
Такая
простота и наглядность представления данных — основное преимущество метода GET.
Как говорится, все на виду. Также значительно упрощается отладка Web-страниц:
поскольку передаваемый Web-серверу адрес отображается в строке адреса Web-обозревателя,
вы всегда сможете увидеть, что именно было передано. (Однако, как вы понимаете,
конфиденциальные данные таким методом не передашь — их увидят все, кто стоит
за вашей спиной.)
Часто
создаются Web-сайты, гиперссылки в которых организуется следующим образом:
http://www.mysite.ru/bin/choose.exe?chapter=3
Как
видите, фактически это ссылки на серверную программу, содержащие один параметр
chapter и его значение. Это значит, что все остальные страницы такого сайта
формируются серверной программой динамически, на основании полученных параметров.
По такому принципу очень часто строятся сайты-справочники, сайты-каталоги программ,
электронные магазины и другие сайты, содержащие большое количество классифицированной
информации.
К
несчастью, метод GET обладает огромным недостатком: с его помощью невозможно
передавать большие объемы данных. Это происходит из-за ограничения, накладываемого
стандартами на длину интернет-адреса: не более 256 символов. Вычтите отсюда
длину собственно адреса серверной программы — и вы получите максимально допустимый
размер ваших данных. Второй недостаток метода GET - обратная сторона его достоинства.
Данные, пересылаемые им, открыты для всеобщего обозрения и могут быть легко
прочитаны в строке адреса Web-обозревателя.
Метод
GET стоит использовать, если пересылаемые серверной программе данные заведомо
невелики и не являются секретными. В частности, он используется для пересылки
ключевых слов поисковым машинам, в сайтах, построенных на основе серверной программы
(см. выше) и т. п. Если же вам нужно пересылать объемистые либо конфиденциальные
данные, используйте второй метод передачи, называемый POST.
Метод
POST передает данные серверной программе все в том же HTTP-запросе, но уже не
частью интернет-адреса, а в виде так называемых дополнительных данных. Поскольку
размер дополнительных данных не ограничен (по крайней мере, он может быть очень
велик), вы можете передавать все, что угодно, в каких угодно количествах. В
частности, именно этим способом Web-серверу могут передаваться даже файлы.
Достоинства
метода POST: отсутствие ограничения на объем передаваемых данных и "невидимость"
их. Недостатки: сложность расшифровки данных и трудность отладки. Методом POST
передаются, например, анкетные данные, адреса покупателей в электронных магазинах,
литературные произведения на сайты http://www.stihi.ru
и http://www.proza.ru и т. п. В общем, то, что
имеет большие объемы.
Как
говорят, комитет WWWC намерен вообще со временем отказаться от метода GET и
все данные передавать с помощью метода POST. Пока что метод GET просто объявлен
не рекомендованным для использования во вновь создаваемых сайтах, реально же
он еще поддерживается Web-обозревателями .
Вот мы и выяснили все о серверных программах. Ну, может, не все, но пока нам этого достаточно. Теперь поговорим о том, насколько полно все это поддерживается Dreamweaver MX.