читься к любому серверу и порту и вводить команды.
Запросим у любимого многими тестового сайта Google базовую информацию
о его домашней странице. Введем следующее:
$ telnet www.google.com 80
Если на порте 80 по адресу google.com существует веб-сервер (я думаю, что это бес-
проигрышный вариант), telnet выведет на экран подтверждающую информацию, а затем
отобразит пустую строку, которая является приглашением ввести что-то еще:
Trying 74.125.225.177...
Connected to www.google.com.
Escape character is '^]'.
Теперь введем настоящую команду HTTP для telnet, которую он отправит на
веб-сервер Google. Самая распространенная команда HTTP (ее использует ваш
браузер каждый раз, когда вы вводите URL в адресной строке) — это GET. Она по-
зволяет получить содержимое заданного ресурса вроде HTML-файла и возвраща-
ет его клиенту. Для первой проверки мы используем команду HTTP HEAD, которая
просто получает некую базовую информацию о ресурсе:
HEAD / HTTP/1.1
Конструкция HEAD / отправляет запрос HTTP HEAD глагол (команда), чтобы полу-
чить информацию о домашней странице (/). Добавьте дополнительный символ
возврата каретки, чтобы отправить пустую строку, тогда удаленный сервер будет
знать, что вы закончили и ждете ответа. Вы получите ответ вроде следующего (мы
обрезали некоторые длинные строки с помощью многоточий, чтобы они не выва-
ливались за пределы страницы):
HTTP/1.1 200 OK
Date: Sat, 26 Oct 2013 17:05:17 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=962a70e9eb3db9d9:FF=0:TM=1382807117:LM=1382807117:S=y...
260
Глава 9. Распутываем Всемирную паутину
expires=Mon, 26-Oct-2015 17:05:17 GMT;
path=/;
domain=.google.com
Set-Cookie: NID=67=hTvtVC7dZJmZzGktimbwVbNZxPQnaDijCz716B1L56GM9qvsqqeIGb...
expires=Sun, 27-Apr-2014 17:05:17 GMT
Web Clients | 219 path=/;
domain=.google.com;
HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts...
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic
Transfer-Encoding: chunked
Так выглядят заголовки ответов HTTP и их значения. Некоторые из них, вроде
Date или Content-Type, обязательны. Другие, наподобие Set-Cookie, используются
для отслеживания вашей активности в течение нескольких посещений (мы пого-
ворим об управлении состоянием немного позже). Когда вы делаете запрос HTTP