Взаимодействие клиента и сервера в сети интернет

Здравствуйте! В этой статье я расскажу про взаимодействие клиента и сервера в сети интернет. Для начала давайте определимся с понятием клиент и сервер. Сервер — это компьютер, подключенный к сети интернет, на котором установлено специальное программное обеспечение. Сервер получает запросы от клиента, производит у себя необходимые вычисления, и их результат отправляет обратно клиенту.

Клиент и сервер взаимодействуют друг с другом по разным протоколам — SMTP, FTP, HTTP, и др, но алгоритм взаимодействия по разным протоколам одинаков: клиент посылает запрос серверу, сервер получает его, обрабатывает, и если нужно, отправляет ответ клиенту. Бывает, что этот процесс повторяется несколько раз, а бывает, что он выполняется однократно.

Взаимодействие клиента и сервера в сети интернет

Взаимодействие клиента и сервера по протоколу HTTP

Для взаимодействия клиента и сервера по протоколу HTTP, на компьютере-сервере должен быть установлен веб-сервер, а на компьютере  пользователя — клиент (web-браузер). Все начинается с ввода адреса сайта в адресной строке браузера. Сначала пользователь вводит URL адрес страницы сайта (например webistore.ru/internet). После нажатия кнопки Enter, браузер сначала проверяет, существует ли домен с таким именем (в нашем случае webistore.ru). Если домен существует, браузер получает IP адрес сервера, который связан с доменом, и отправляет HTTP запрос на этот сервер. В нем браузер указывает домен, куки, свое название, предпочитаемые форматы данных, и др. Сервер получает эти данные, и на  их основе формирует ответ. В ответе от сервера содержаться заголовки ответа, и тело ответа. В теле ответа содержится сама веб-страница. Клиент получает эту информацию, и выводит ее на монитор пользователя.

Пример взаимодействия между клиентом и сервером в сети интернет по протоколу HTTP:

Запрос клиента (web-браузера Chrome) к странице vk.com/webistore:

GET /webistore HTTP/1.1
Host: vk.com
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2150.0
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Cookie: remixstid=2074208158_cd328fd238e61c14d9; remixdt=7200;

Ответ от сервера:

HTTP/1.1 200 OK
Server: Apache
Date: Wed, 01 Apr 2015 19:46:41 GMT
Content-Type: text/html; charset=windows-1251
Content-Length: 16892
Connection: keep-alive
X-Powered-By: PHP/3.12530
Pragma: no-cache
Cache-control: no-store
X-Frame-Options: deny
Content-Encoding: gzip
После этих заголовков идет тело ответа, в котором содержится код веб-страницы

Добавить комментарий

Ваш адрес email не будет опубликован.