Как происходит взаимодействие сервера с браузером? — КиберПедия 

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Как происходит взаимодействие сервера с браузером?

2017-11-22 1391
Как происходит взаимодействие сервера с браузером? 0.00 из 5.00 0 оценок
Заказать работу

Когда вводится какой-нибудь URL в строку адреса браузера, браузер извлекает из URL протокол (например, http) и имя сервера. Согласно полученной информации он обращается к указанному серверу. Протокол — это набор правил, согласно которым браузер будет общаться с Web -сервером (если используется протокол http).

Компьютер — это «железо», которое ничего не может сделать без программного обеспечения. На компьютере, к которому обращается браузер должна быть установлена программа -- Web -сервер, которая в действительности будет обслуживать запросы. Когда мы говорим сервер, должны иметь в виду программу, а не компьютер.

Браузер определил, что имя сервера есть в базе данных DNS, узнал его IP -адрес и, используя его, подключился к серверу. Сервер ждет команды от браузера. Браузер посылает запрос — что-то наподобие: «Мне нужен документ /path/docI.html». Сервер просматривает содержимое каталога /path, находит там файл docl.html и возвращает его браузеру, как обыкновенный текст. Кроме текста сервер также возвращает тип документа. Бразуер отображает документы согласно информации о типе, переданной сервером. Например, если сервер скажет, что файл docl.html является текстом, то в окне браузера мы увидим код HTML, но обычно сервер так не делает, и мы видим нормальную Web -страницу — с картинками и форматированием.

Если запрашиваемый документ не найден, сервер может возвратить документ, содержащий сообщение об ошибке или просто код ошибки, например, 500 — внутренняя ошибка сервера. В последнем случае, браузер, получив код ошибки, возвращает встроенное в него сообщение об этой ошибке.

Зачем нужен CGI-интерфейс и какие цели он выполняет?

Интерфейс CGI выполняет функции шлюза (переходника) между различными программами, установленными на Web -сервере, и браузером пользователя. Когда браузер запрашивает определенный ресурс, программа-сервер запускает программу, расположенную в каталоге cgi-bin, а она уже возвращает результат, который передается пользователю.

Примечание. Необходимо отметить, что запросы браузера не всегда обрабатываются cgi -программами. Очень часто запрашиваемые ресурсы выдаются браузеру напрямую. То есть, если браузер запросил "http:/server. ru/path/ picture.gif, то ему и выдается picture. gif безо всяких премудростей (cgi -программ, псевдонимов и т.п).

Использование CGI -программ обычно требуется, когда необходимо в браузере отобразить Web -страницу, сформированную на основе некоторых данных или на основе каких-то действий пользователя на сайте. Например, вы ввели в форму какие-то данные, а на их основе формируется выдаваемая вам страница. Или еще один пример, зачастую сайты создаются сразу на нескольких языках. Так как CGI -программа может по IP -адресу определить вашу страну и сразу отобразить сайт на родном вам языке.

Немного подробнее о CGI

Давайте разберемся, что именно происходит при запуске CGI -программы. CGI -программа, как уже упоминалось, это обычная программа, выводящая что-то. Механизм CGI перенаправляет вывод программы на Web -сервер, а тог, в свою очередь, в браузер пользователя. С точки зрения программы нет ничего необычного — она «думает», что выводит информацию на экран (stdout), даже не подозревая, что ее вывод будет перенаправлен и его увидит весь Интернет.

Правда, есть одно НО. Абсолютно любая программа не может быть CGI -программой, потому что перед своим выводом она должна вывести определенные заголовки сервера — указать хотя бы тип выводимой информации. Например, если мы хотим вывести картинку, мы должны отправить заголовок Content-type: image/gif.

Если CGI -программе нужно передать параметры, то делается это очень просто — как и в случае с обыкновенной программой. Например, нам нужно передать строку запроса came=Denis&ernail=denis@localhost сценарию cgi.exe, для этого нужно вызвать программу cqi.exe с параметром name = Denis Serna il=denis@ localhost: cgi.exe name = Denis&emaiI=denis@localhost

Если программа предназначена для CGI, то нужно позаботиться о взаимодействии с сервером. Простейшее взаимодействие заключается в том, что программист должен знать информацию о сервере. Данная информация передается с помощью переменных окружения. Примерно так работает механизм CGI. Чуть позже мы рассмотрим, как превратить обыкновенную программу на языке С в CGI -программу.


Поделиться с друзьями:

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.