<|||>
Как работает интернет. Часть 6 | Назначение протокола http - Что за методы GET, POST и Cookie
Глобальные компьютерные сети и интернет
Оглавление
Как работает интернет. Часть 6 | Назначение протокола http
Что за методы GET, POST и Cookie
Ответ HTTP
Инкапсуляция протоколов
Все страницы

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

HTTP считает сайт неким «устройством хранения» со своими файлами и каталогами. Например, если вы наберете «GET /aa/bb/ii.html», то в ответ вы получите файл ii.html, находящийся в каталоге bb, который находится в каталоге aa, который находится в том каталоге, который сервер считает для сайта корневым каталогом.

Кроме файлов, можно запрашивать и каталоги. Например, если вы наберете «GET /aa/bb/», то получите некий файл из каталога bb. Какой именно – определяет сервер. Обычно это либо index.html, либо index.php (но не обязательно).

Теперь разберемся, как передать запрашиваемой странице параметры. Их можно передавать несколькими способами.

Первый способ – это GET (который мы и использовали в статье 6). В этом случае, после имени файла можно добавить вопросительный знак, записать имя параметра, знак равно, и значение параметра. Например, «GET http://yandex.ru?xxx=yyy». В этом случае сервер yandex.ru узнает, что ему передали параметр xxx, который равен yyy. А что, если нам нужно передать несколько параметров? Тогда нужно разделить их символом «&». Например
«GET http://yandex.ru?par1=val1&par2=val2». В чем достоинство такого метода? Не нужно придумывать ничего лишнего – все параметры уже в адресе страницы. А в чем недостаток? Во-первых, все параметры видно пользователю, а если параметров десяток, да еще и длинных, строка запроса получится длинная, и пользователь может просто растеряться, глянув в такой длинный адрес. Да и по телефону его не продиктуешь.

Второй метод – это POST. В данном методе вы запрашиваете просто нужную вам страницу «POST http://yandex.ru», потом нажимаете Enter (1 раз), затем вводите еще одну строку «Content-Length: 10» (что означает, что вы хотите передать еще 10 байт с параметрами, вы можете заменить 10 на любое нужное вам число), затем нажать Enter 2 раза, и ввести 10 байт с параметрами (в таком же виде, par1=val1&par2=val2&…). Enter в конце нажимать не надо, сервер сам поймет, что запрос закончился, когда кончится длина, которую вы указали. Минусы POST – пользователь не видит, что передается сайту. Иногда это хорошо, а иногда плохо. Плюсы POST – можно передавать много данных (сколько именно, определяет сам сервер). Если, например, вы хотите создать сайт, куда можно загружать видео, как, например, ВКонтакте, метод GET вам явно не подойдет, так как браузер просто не переварит адрес сайта из миллиарда букв, а вот POST запросто.

Третий метод – это Cookie. На самом деле, это не способ «передать любые свои данные сайту», это метод «передать данные сайту, которые он сам сохранил». Например, у вас есть сайт Интернет-магазина, и вы хотите, чтобы если пользователь закрыл браузер, а потом открыл снова, то ему не надо было бы вводить пароль заново, и чтобы его корзина покупок осталась полной. Для этого вам нужно сохранить данные об этом. Где? Прямо на компьютере пользователя. Но согласитесь, вы бы разрешили сайту сохранять что ни попадя на вашем компьютере? А вдруг он вирус вам сохранит? Поэтому было придумано стандартное решение для таких ситуаций – Cookie. Сайт в ответе на ваш запрос HTTP может передать вам инструкцию Set-Cookie. Когда браузер получает такую инструкцию, он сохраняет данные сайта в специальную папочку на вашем компьютере (разную для разных браузеров). А затем, когда он в следующий раз будет запрашивать сайт, он также после «GET http://internet-magazin.ru» добавит еще одну строчку
«Cookie: xxx=yyy; zzz=aaa», где перечислит те данные, которые сам сайт же и сохранил. Таким образом, ваш Интернет-магазин сможет «узнать пользователя в лицо» и показать ему его корзину.

Следует помнить, что файл Cookie можно просто «украсть» с компьютера пользователя, например, вирусом, и с его помощью заставить Интернет-Магазин думать, что зашел пользователь. Но это уже проблема пользователя, а не Интернет-Магазина, защищать свой компьютер от вирусов, правда? Ну, и, конечно, Cookie можно просмотреть или даже запретить в настройках браузера, если вам не нравится, что другие сайты могут сохранять информацию на ваш компьютер.

 



Комментарии
Добавить новый RSS
ы   |2013-10-12 22:43:14
Фраза: "языках HTTP и HTML" не верна. HTTP - протокол, а HTML - язык
Оставить комментарий
Имя:
Email:
 
Тема:
 
Пожалуйста, введите проверочный код, который Вы видите на картинке.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 
Все права защищены. Copyright 2008-2017 © Мой компьютер плюс