Введение в технологии создания Интернет-узлов

Введение в Интернет

Разбить на страницы
Показывать лекцию целиком

Понятие Internet и WWW

Интернет и его сервисы

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

Сервисы Интернет - сервисы, предоставляемые в сети Интернет пользователям, программам, системам, уровням, функциональным блокам. В сети Интернет сервисы реализованы в виде сетевых служб, доступ к которым реализуется как из локальной, так и из глобальной сети.

Наиболее распространенными Интернет-сервисами являются:

  • служба WWW;
  • служба передачи файлов FTP;
  • передача электронных сообщений и блоков данных (e-mail);
  • Интернет-телефония - частный случай IP-телефонии, когда в качестве линий передачи телефонного трафика используются каналы сети Интернета. IP-телефония - технология, позволяющая использовать Интернет или другую IP-сеть в качестве средства организации и ведения международных и междугородных телефонных разговоров и передачи факсов в режиме реального времени.
  • Интернет-вещание - динамическое изменение информации, передаваемой по каналам Интернета: новостные ленты, видео, аудио, сообщения о результатах выборов и т.д.
  • Служба WWW

    Служба WWW (World Wide Web) - основная служба в сети Интернет, позволяющая получать доступ к информации на любых серверах, подключенных к сети. Служба WWW представляет собой множество независимых, но взаимосвязанных серверов и предназначена для обмена текстовой, графической, аудио и видео-информацией. Работая с Web, пользователь последовательно соединяется с Web-серверами и получает информацию. WWW построена по схеме "клиент-сервер". В качестве клиента выступает браузер, который является также и интерпретатором HTML. Как интерпретатор, браузер в зависимости от команд (тегов) выполняет различные функции: размещение текста на экране, обмен информацией с сервером по мере анализа полученного HTML-текста и др.

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

    Служба WWW организована на принципах гиперсреды. Гиперсреда - технология представления информации в виде относительно небольших блоков, ассоциативно связанных друг с другом.

    WWW – это глобальное информационное пространство, основанное на физической инфраструктуре Интернета и протоколе передачи данных HTTP. Его образуют миллионы веб-сeрверов сети Интернет, расположенных по всему миру. WWW неразрывно связана с понятиями гипертекста и гиперссылки.

    Web-сервер

    Web-сервер – это программное обеспечение, отвечающее за прием запросов браузеров, поиск указанных файлов и возвращение их содержимого. Web-cерверы хранят информацию в виде текстовых файлов, называемых страницами Web-сервера. Помимо текста, такие страницы могут содержать ссылки на другие страницы, ссылки на графические изображения, аудио- и видеоинформацию, различные объекты ввода данных (поля, кнопки, формы и т. д.), а также другие объекты. Страницы Web представляют собой некоторое связующее звено между объектами различных типов.

    Web-сервер является программой, запускаемой на подключённом к сети компьютере и использующей протокол HTTP для передачи данных. В простейшем виде такая программа получает по сети HTTP-запрос на определённый ресурс, находит соответствующий файл на локальном жёстком диске и отправляет его по сети запросившему компьютеру. Более сложные web-серверы способны динамически формировать ресурсы в ответ на HTTP-запрос.

    Web-браузер

    Для доступа к информации, расположенной на web-серверах, пользователи применяют специальные клиентские программы — браузеры.

    Web-браузер - это программное обеспечение для просмотра web-сайтов, то есть для запроса web-страниц из WWW, для их обработки и вывода, и для реализации перехода от одной страницы к другой. Браузер — комплексное приложение для обработки и вывода разных составляющих web-страницы, и для предоставления интерфейса между web-сайтом и его посетителем. Браузер способен предварительно обрабатывать данные, отправляемые на сервер, а также обрабатывать и представлять результаты, полученные от сервера, в удобном для пользователя виде.

    В настоящее время существует четыре наиболее популярных web-браузера. К ним относятся Internet Explorer (IE), Netscape, Opera и Firefox. Большинство браузеров основано на одном ядре. Например, Netscape и Firefox основаны на ядре, которое называется Gecko. Между браузерами существует ряд отличий, например:

  • некоторые скрипты на языке JavaScript приводят к аварийному завершению IE, а бразузеры, основанные на ядре Gecko, способны корректно их обрабатывать;
  • некоторые HTML-тэги по-разному обрабатываются IE и Firefox;
  • IE и Firefox имеют абсолютно разные модели сообщений;
  • IE, в отличие от Firefox, не в полной мере поддерживает каскадируемые таблицы стилей Cascading Style Sheets (CSS) 2.0;
  • Firefox, в отличие от IE, не имеет возможности запускать элементы управления ActiveX;
  • последовательность обработки HTML-тэгов при визуализации страницы отличается в различных браузерах, что иногда приводит к отличиям в получаемых страницах;
  • некоторые атрибуты стилей работают в Firefox, но не работают в IE.
  • (рис 1.2) Взаимодействие браузера и web-сервера

    Web-браузер является источником ряда угроз безопасности для компьютера пользователя. Некоторые web-страницы могут содержать вредоносный код. Для обеспечения большей устойчивости браузера к подобным страницам рекомендуется проделать следующие операции:

  • запретить использование cookies;
  • запретить выполнение сценариев JavaScript и VBScript, а также элементов управления ActiveX;
  • запретить скачивание элементов управления ActiveX;
  • запретить скачивание шрифтов;
  • запретить всплывающие окна;
  • ограничить использование Java.
  • Это лишь краткий перечень настроек, которые можно произвести для того, чтобы сделать браузер безопасным. Проблемой является то, что это приведет к значительным ограничениям функций браузера, вплоть до полной невозможности его использования, как злоумышленником, так и пользователем.

    Протокол HTTP

    Протокол передачи гипертекста HTTP (Hyper Text Transfer Protocol)- базирующийся на TCP/IP протокол передачи гипертекста, обеспечивающий доступ к документам на web-узлах. Основная задача протокола состоит в установлении связи с web-сервером и обеспечении доставки HTML-страниц web-браузеру клиента.

    Протокол HTTP:

  • определяет взаимодействие партнеров на прикладном уровне;
  • предназначен для передачи сообщений, являющихся блоками гипертекста;
  • используется в службе глобального соединения.
  • Транспортным протоколом для HTTP является протокол TCP, причем сервер HTTP (сервер Web) находится в состоянии ожидания соединения со стороны клиента стандартно по порту 80 TCP, а клиент HTTP (браузер Web) является инициатором соединения.

    Одной из важнейших функций сервера Web является предоставление доступа к части локальной файловой системы. Для этого в настройках сервера указывается некоторая директория, которая является корневой для данного сервера Web. Чтобы опубликовать документ, то есть сделать его доступным пользователям, "посещающим" данный сервер (осуществляющим с ним соединение по протоколу HTTP), нужно скопировать этот документ в корневую директорию Web-сервера или в одну из ее поддиректорий. При соединении по протоколу HTTP на сервере создается процесс с правами пользователя, как правило, не существующего реально, а специально созданного для просмотра ресурсов сервера. Настраивая права и разрешения данного пользователя, можно управлять доступом к ресурсам Web.

    Взаимодействие между клиентом и сервером Web осуществляется путем обмена сообщениями. Сообщения HTTP делятся на запросы клиента серверу и ответы сервера клиенту.

    Запросы и ответы выглядят следующим образом:

    начальная строка
    заголовок 1
    заголовок 2
    ...
    заголовок N
    CR LF (пустая строка)
    тело сообщения (может отсутствовать).

    HTTP-заголовки

    Формат начальной строки (start-line) клиента и сервера различаются. Заголовки бывают четырех видов:

  • общие заголовки (general-headers), которые могут присутствовать как в запросе, так и в ответе;
  • заголовки запросов (request-headers), которые могут присутствовать только в запросе;
  • заголовки ответов (response-headers), которые могут присутствовать только в ответе;
  • заголовки объекта (entity-headers), которые относятся к телу сообщения и описывают его содержимое.
  • Каждый заголовок состоит из названия, символа двоеточия ":" и значения. Наиболее важные заголовки приведены в 1.1.

    HTTP-заголовки
    Заголовок Назначение
    Общие заголовки
    Connection Указывает серверу на завершение (close) или продолжение (keep-alive) сеанса
    Date Дата и время формирования сообщения
    Pragma Специальные, зависящие от реализации команды, касающиеся передаваемого содержимого (например, no-cache)
    Transfer-Encoding Способ кодирования сообщения при передаче (например, win1251, koi-8r)
    Заголовки запроса
    Accept Типы содержимого, которое клиент способен разработать и может воспроизвести
    Accept-Charset Кодировки символов, в которых клиент может принимать текстовое содержимое
    Accept-Encoding Способ, которым сервер может закодировать сообщение
    Host Хост и номер порта, с которого запрашивается документ
    If-Modified-Since If-Match If-None-Match If-Range If-Unmodified-Since Заголовки запроса для условного обращения к ресурсу
    Range Запрос части документа
    User-Agent Название программного обеспечения клиента
    Заголовки ответа
    Age Число секунд, через которое нужно повторить запрос для получения нового содержимого
    Location URI ресурса, к которому нужно обратиться для получения содержимого
    Retry-After Дата и время или число секунд, через которое нужно повторить запрос, чтобы получить успешный ответ
    Server Название программного обеспечения сервера, приславшего ответ
    Заголовки объекта
    Allow Перечисляет поддерживаемые сервером методы
    Content-Encoding Способ, которым закодировано тело сообщения, например, с целью уменьшения размера
    Content-Length Длина сообщения в байтах
    Content-Type Тип содержимого и, возможно, некоторые параметры
    ETag Уникальный тэг ресурса на сервере, позволяющий сравнивать ресурсы
    Expires Дата и время, когда ресурс на сервере будет изменен, и его нужно получать заново
    Last-Modified Дата и время последней модификации содержимого

    В теле сообщения содержится собственно передаваемая информация. Тело сообщения представляет собой последовательность октетов (байтов). Тело сообщения может быть закодировано, например, для уменьшения объема передаваемой информации, при этом способ кодирования указывается в заголовке объекта Content-Encoding.

    Запрос от клиента к серверу состоит из строки запроса (request-line), заголовков (общих, запросов, объекта) и, возможно, тела сообщения.

    Строка запроса:

    <Команда HTTP> 
    <Идентификатор запрашиваемого ресурса> 
    <Версия HTTP>

    Основные команды протокола http

    Основные команды протокола HTTP следующие:

    OPTIONS - Запрос информации об опциях соединения (например, методах, типах документов, кодировках), которые поддерживает сервер для запрашиваемого ресурса.

    Если идентификатор запрашиваемого ресурса – звездочка ( "*" ), то запрос предназначен для обращения к серверу в целом.

    GET - Позволяет получить информацию, связанную с запрашиваемым ресурсом.

    Если идентификатор запрашиваемого ресурса указывает на документ, то сервер возвращает содержимое этого документа (содержимое файла).

    Если запрашиваемый ресурс является приложением (программой), формирующим в процессе своей работы некоторые данные, то в теле сообщения ответа возвращаются эти данные.

    Если идентификатор запрашиваемого ресурса указывает на директорию (каталог, папку), то, в зависимости от настроек сервера, может быть возвращено либо содержимое директории (список файлов), либо содержимое одного из файлов, находящегося в этой директории (как правило, index.html). В случае запроса папки ее имя может указываться как с символом "/" на конце, так и без него. При отсутствии на конце идентификатора ресурса данного символа сервер выдает один из ответов с перенаправлением (с кодами статуса 301 или 302).

    Разновидностями команды GET является "условный GET" ("conditional GET") и "частичный GET" ("partial GET"). Условный GET запрашивает передачу объекта, только если он удовлетворяет условиям, описанным в приведенных заголовках. Частичный GET запрашивает передачу только части объекта.

    HEAD - Идентична команде GET, за исключением того, что сервер не возвращает в ответе тело сообщения.

    POST - Используется для запроса, при котором адресуемый сервер принимает данные, включенные в тело сообщения (объект) запроса, и отправляет их на обработку приложению, указанному как запрашиваемый ресурс.

    PUT - Тело сообщения, которое передается в запросе, сохраняется на сервере, причем идентификатор запрашиваемого ресурса будет идентификатором сохраненного документа.

    DELETE - Запрос на удаление ресурса, имеющего запрашиваемый идентификатор.

    TRACE - Используется для тестирования или диагностики. Получатель запроса (сервер Web) отправляет полученное сообщение обратно клиенту как тело сообщения ответа.

    Ответ сервера по HTTP

    После получения и интерпретации сообщения запроса, сервер отвечает сообщением HTTP ответа.

    Первая строка ответа – это строка состояния (Status-Line):

    <Версия HTTP> 
    <Код состояния> 
    <Поясняющая фраза>

    Код состояния ( Status-Code ) – это целочисленный трехразрядный код результата понимания и удовлетворения запроса. Поясняющая фраза (Reason-Phrase) – короткое текстовое описание кода состояния. Код состояния предназначен для обработки программным обеспечением, а поясняющая фраза предназначена для пользователей.

    Первая цифра кода состояния определяет класс ответа. Последние две цифры не имеют определенной роли в классификации. Имеется 5 значений первой цифры:

  • 1xx: Информационные коды – запрос получен, продолжается обработка.
  • 2xx: Успешные коды – действие было успешно получено, понято и обработано.
  • 3xx: Коды перенаправления – для выполнения запроса должны быть предприняты дальнейшие действия.
  • 4xx: Коды ошибок клиента – запрос имеет ошибку синтаксиса или не может быть выполнен.
  • 5xx: Коды ошибок сервера – сервер не в состоянии выполнить допустимый запрос.
  • За строкой состояния следуют заголовки (общие, ответа и объекта) и, возможно, тело сообщения.

    Гипертекст

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

    Гипертекст - принцип организации информационных массивов, при котором отдельные информационные элементы связаны между собой ассоциативными отношениями, обеспечивающими быстрый поиск необходимой информации и/или просмотр взаимосвязанных данных.

    Ассоциативная связь - вид связи, устанавливаемый исходя из заданного сочетания признаков данных, которые образуют упорядоченные последовательные цепочки. Указатели на связанные данные могут размещаться в самих данных или программных средствах управления базой данных.

    В компьютерной терминологии, гипертекст — размеченный текст, содержащий в себе ссылки на внешние ресурсы. Примером гипертекста могут служить документы на HTML (гипертекстовом языке разметки), размещённые в Интернет.

    Universal Resource Identifier и Universal Resource Locator

    Для идентификации ресурсов (зачастую файлов или их частей) в WWW используются единообразные идентификаторы ресурсов URI (англ. Uniform Resource Identifier). URI — это короткая строка, позволяющая идентифицировать какой-либо ресурс: документ, изображение, файл, службу, ящик электронной почты и т. д. URI предоставляет простой и расширяемый способ идентификации ресурсов. Расширяемость URI означает, что уже существуют несколько схем идентификации внутри URI, и ещё больше будет создано в будущем.

    В базовом виде URI представляется как:

    <схема>:<идентификатор-в-зависимости-от-схемы>

    где: <схема> - схема обращения к ресурсу, например http, ftp, mailto, urn

    <идентификатор-в-зависимости-от-схемы> - непосредственный идентификатор ресурса, вид которого зависит от выбранной схемы обращения к ресурсу.

    Часть идентификатора URI без схемы обращения к ресурсу часто называется "ссылкой URI". Прецеденты применения ссылок URI имеются в HTML, XHTML, XML и XSLT. Процесс превращения ссылки URI в абсолютную форму URI называют разрешением URI.

    Примеры абсолютных URI:

    http://ru.wikipedia.org/wiki/URI
    ftp://ftp.is.co.za/rfc/rfc1808.txt 
    file://C:\UserName.HostName\Projects\Wikipedia_Articles\URI.xml 
    mailto:John.Doe@example.com 
    news:comp.infosystems.www.servers.unix 
    data:text/plain;charset=iso-8859-7,%be%fg%be 
    tel:+1-816-555-1212 
    telnet://192.0.2.16:80/

    Примеры ссылок URI:

    /relative/URI/with/absolute/path/to/resource.txt 
    relative/path/to/resource.txt 
    ../../../resource.txt
    resource.txt /resource.txt
    #frag01 #frag01
    Страницы:

    Понятие Internet и WWW

    Интернет и его сервисы

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

    Сервисы Интернет - сервисы, предоставляемые в сети Интернет пользователям, программам, системам, уровням, функциональным блокам. В сети Интернет сервисы реализованы в виде сетевых служб, доступ к которым реализуется как из локальной, так и из глобальной сети.

    Наиболее распространенными Интернет-сервисами являются:

  • служба WWW;
  • служба передачи файлов FTP;
  • передача электронных сообщений и блоков данных (e-mail);
  • Интернет-телефония - частный случай IP-телефонии, когда в качестве линий передачи телефонного трафика используются каналы сети Интернета. IP-телефония - технология, позволяющая использовать Интернет или другую IP-сеть в качестве средства организации и ведения международных и междугородных телефонных разговоров и передачи факсов в режиме реального времени.
  • Интернет-вещание - динамическое изменение информации, передаваемой по каналам Интернета: новостные ленты, видео, аудио, сообщения о результатах выборов и т.д.
  • Служба WWW

    Служба WWW (World Wide Web) - основная служба в сети Интернет, позволяющая получать доступ к информации на любых серверах, подключенных к сети. Служба WWW представляет собой множество независимых, но взаимосвязанных серверов и предназначена для обмена текстовой, графической, аудио и видео-информацией. Работая с Web, пользователь последовательно соединяется с Web-серверами и получает информацию. WWW построена по схеме "клиент-сервер". В качестве клиента выступает браузер, который является также и интерпретатором HTML. Как интерпретатор, браузер в зависимости от команд (тегов) выполняет различные функции: размещение текста на экране, обмен информацией с сервером по мере анализа полученного HTML-текста и др.

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

    Служба WWW организована на принципах гиперсреды. Гиперсреда - технология представления информации в виде относительно небольших блоков, ассоциативно связанных друг с другом.

    WWW – это глобальное информационное пространство, основанное на физической инфраструктуре Интернета и протоколе передачи данных HTTP. Его образуют миллионы веб-сeрверов сети Интернет, расположенных по всему миру. WWW неразрывно связана с понятиями гипертекста и гиперссылки.

    Web-сервер

    Web-сервер – это программное обеспечение, отвечающее за прием запросов браузеров, поиск указанных файлов и возвращение их содержимого. Web-cерверы хранят информацию в виде текстовых файлов, называемых страницами Web-сервера. Помимо текста, такие страницы могут содержать ссылки на другие страницы, ссылки на графические изображения, аудио- и видеоинформацию, различные объекты ввода данных (поля, кнопки, формы и т. д.), а также другие объекты. Страницы Web представляют собой некоторое связующее звено между объектами различных типов.

    Web-сервер является программой, запускаемой на подключённом к сети компьютере и использующей протокол HTTP для передачи данных. В простейшем виде такая программа получает по сети HTTP-запрос на определённый ресурс, находит соответствующий файл на локальном жёстком диске и отправляет его по сети запросившему компьютеру. Более сложные web-серверы способны динамически формировать ресурсы в ответ на HTTP-запрос.

    Web-браузер

    Для доступа к информации, расположенной на web-серверах, пользователи применяют специальные клиентские программы — браузеры.

    Web-браузер - это программное обеспечение для просмотра web-сайтов, то есть для запроса web-страниц из WWW, для их обработки и вывода, и для реализации перехода от одной страницы к другой. Браузер — комплексное приложение для обработки и вывода разных составляющих web-страницы, и для предоставления интерфейса между web-сайтом и его посетителем. Браузер способен предварительно обрабатывать данные, отправляемые на сервер, а также обрабатывать и представлять результаты, полученные от сервера, в удобном для пользователя виде.

    В настоящее время существует четыре наиболее популярных web-браузера. К ним относятся Internet Explorer (IE), Netscape, Opera и Firefox. Большинство браузеров основано на одном ядре. Например, Netscape и Firefox основаны на ядре, которое называется Gecko. Между браузерами существует ряд отличий, например:

  • некоторые скрипты на языке JavaScript приводят к аварийному завершению IE, а бразузеры, основанные на ядре Gecko, способны корректно их обрабатывать;
  • некоторые HTML-тэги по-разному обрабатываются IE и Firefox;
  • IE и Firefox имеют абсолютно разные модели сообщений;
  • IE, в отличие от Firefox, не в полной мере поддерживает каскадируемые таблицы стилей Cascading Style Sheets (CSS) 2.0;
  • Firefox, в отличие от IE, не имеет возможности запускать элементы управления ActiveX;
  • последовательность обработки HTML-тэгов при визуализации страницы отличается в различных браузерах, что иногда приводит к отличиям в получаемых страницах;
  • некоторые атрибуты стилей работают в Firefox, но не работают в IE.
  • (рис 1.2) Взаимодействие браузера и web-сервера

    Web-браузер является источником ряда угроз безопасности для компьютера пользователя. Некоторые web-страницы могут содержать вредоносный код. Для обеспечения большей устойчивости браузера к подобным страницам рекомендуется проделать следующие операции:

  • запретить использование cookies;
  • запретить выполнение сценариев JavaScript и VBScript, а также элементов управления ActiveX;
  • запретить скачивание элементов управления ActiveX;
  • запретить скачивание шрифтов;
  • запретить всплывающие окна;
  • ограничить использование Java.
  • Это лишь краткий перечень настроек, которые можно произвести для того, чтобы сделать браузер безопасным. Проблемой является то, что это приведет к значительным ограничениям функций браузера, вплоть до полной невозможности его использования, как злоумышленником, так и пользователем.

    Протокол HTTP

    Протокол передачи гипертекста HTTP (Hyper Text Transfer Protocol)- базирующийся на TCP/IP протокол передачи гипертекста, обеспечивающий доступ к документам на web-узлах. Основная задача протокола состоит в установлении связи с web-сервером и обеспечении доставки HTML-страниц web-браузеру клиента.

    Протокол HTTP:

  • определяет взаимодействие партнеров на прикладном уровне;
  • предназначен для передачи сообщений, являющихся блоками гипертекста;
  • используется в службе глобального соединения.
  • Транспортным протоколом для HTTP является протокол TCP, причем сервер HTTP (сервер Web) находится в состоянии ожидания соединения со стороны клиента стандартно по порту 80 TCP, а клиент HTTP (браузер Web) является инициатором соединения.

    Одной из важнейших функций сервера Web является предоставление доступа к части локальной файловой системы. Для этого в настройках сервера указывается некоторая директория, которая является корневой для данного сервера Web. Чтобы опубликовать документ, то есть сделать его доступным пользователям, "посещающим" данный сервер (осуществляющим с ним соединение по протоколу HTTP), нужно скопировать этот документ в корневую директорию Web-сервера или в одну из ее поддиректорий. При соединении по протоколу HTTP на сервере создается процесс с правами пользователя, как правило, не существующего реально, а специально созданного для просмотра ресурсов сервера. Настраивая права и разрешения данного пользователя, можно управлять доступом к ресурсам Web.

    Взаимодействие между клиентом и сервером Web осуществляется путем обмена сообщениями. Сообщения HTTP делятся на запросы клиента серверу и ответы сервера клиенту.

    Запросы и ответы выглядят следующим образом:

    начальная строка
    заголовок 1
    заголовок 2
    ...
    заголовок N
    CR LF (пустая строка)
    тело сообщения (может отсутствовать).

    HTTP-заголовки

    Формат начальной строки (start-line) клиента и сервера различаются. Заголовки бывают четырех видов:

  • общие заголовки (general-headers), которые могут присутствовать как в запросе, так и в ответе;
  • заголовки запросов (request-headers), которые могут присутствовать только в запросе;
  • заголовки ответов (response-headers), которые могут присутствовать только в ответе;
  • заголовки объекта (entity-headers), которые относятся к телу сообщения и описывают его содержимое.
  • Каждый заголовок состоит из названия, символа двоеточия ":" и значения. Наиболее важные заголовки приведены в 1.1.

    HTTP-заголовки
    Заголовок Назначение
    Общие заголовки
    Connection Указывает серверу на завершение (close) или продолжение (keep-alive) сеанса
    Date Дата и время формирования сообщения
    Pragma Специальные, зависящие от реализации команды, касающиеся передаваемого содержимого (например, no-cache)
    Transfer-Encoding Способ кодирования сообщения при передаче (например, win1251, koi-8r)
    Заголовки запроса
    Accept Типы содержимого, которое клиент способен разработать и может воспроизвести
    Accept-Charset Кодировки символов, в которых клиент может принимать текстовое содержимое
    Accept-Encoding Способ, которым сервер может закодировать сообщение
    Host Хост и номер порта, с которого запрашивается документ
    If-Modified-Since If-Match If-None-Match If-Range If-Unmodified-Since Заголовки запроса для условного обращения к ресурсу
    Range Запрос части документа
    User-Agent Название программного обеспечения клиента
    Заголовки ответа
    Age Число секунд, через которое нужно повторить запрос для получения нового содержимого
    Location URI ресурса, к которому нужно обратиться для получения содержимого
    Retry-After Дата и время или число секунд, через которое нужно повторить запрос, чтобы получить успешный ответ
    Server Название программного обеспечения сервера, приславшего ответ
    Заголовки объекта
    Allow Перечисляет поддерживаемые сервером методы
    Content-Encoding Способ, которым закодировано тело сообщения, например, с целью уменьшения размера
    Content-Length Длина сообщения в байтах
    Content-Type Тип содержимого и, возможно, некоторые параметры
    ETag Уникальный тэг ресурса на сервере, позволяющий сравнивать ресурсы
    Expires Дата и время, когда ресурс на сервере будет изменен, и его нужно получать заново
    Last-Modified Дата и время последней модификации содержимого

    В теле сообщения содержится собственно передаваемая информация. Тело сообщения представляет собой последовательность октетов (байтов). Тело сообщения может быть закодировано, например, для уменьшения объема передаваемой информации, при этом способ кодирования указывается в заголовке объекта Content-Encoding.

    Запрос от клиента к серверу состоит из строки запроса (request-line), заголовков (общих, запросов, объекта) и, возможно, тела сообщения.

    Строка запроса:

    <Команда HTTP> 
    <Идентификатор запрашиваемого ресурса> 
    <Версия HTTP>

    Основные команды протокола http

    Основные команды протокола HTTP следующие:

    OPTIONS - Запрос информации об опциях соединения (например, методах, типах документов, кодировках), которые поддерживает сервер для запрашиваемого ресурса.

    Если идентификатор запрашиваемого ресурса – звездочка ( "*" ), то запрос предназначен для обращения к серверу в целом.

    GET - Позволяет получить информацию, связанную с запрашиваемым ресурсом.

    Если идентификатор запрашиваемого ресурса указывает на документ, то сервер возвращает содержимое этого документа (содержимое файла).

    Если запрашиваемый ресурс является приложением (программой), формирующим в процессе своей работы некоторые данные, то в теле сообщения ответа возвращаются эти данные.

    Если идентификатор запрашиваемого ресурса указывает на директорию (каталог, папку), то, в зависимости от настроек сервера, может быть возвращено либо содержимое директории (список файлов), либо содержимое одного из файлов, находящегося в этой директории (как правило, index.html). В случае запроса папки ее имя может указываться как с символом "/" на конце, так и без него. При отсутствии на конце идентификатора ресурса данного символа сервер выдает один из ответов с перенаправлением (с кодами статуса 301 или 302).

    Разновидностями команды GET является "условный GET" ("conditional GET") и "частичный GET" ("partial GET"). Условный GET запрашивает передачу объекта, только если он удовлетворяет условиям, описанным в приведенных заголовках. Частичный GET запрашивает передачу только части объекта.

    HEAD - Идентична команде GET, за исключением того, что сервер не возвращает в ответе тело сообщения.

    POST - Используется для запроса, при котором адресуемый сервер принимает данные, включенные в тело сообщения (объект) запроса, и отправляет их на обработку приложению, указанному как запрашиваемый ресурс.

    PUT - Тело сообщения, которое передается в запросе, сохраняется на сервере, причем идентификатор запрашиваемого ресурса будет идентификатором сохраненного документа.

    DELETE - Запрос на удаление ресурса, имеющего запрашиваемый идентификатор.

    TRACE - Используется для тестирования или диагностики. Получатель запроса (сервер Web) отправляет полученное сообщение обратно клиенту как тело сообщения ответа.

    Ответ сервера по HTTP

    После получения и интерпретации сообщения запроса, сервер отвечает сообщением HTTP ответа.

    Первая строка ответа – это строка состояния (Status-Line):

    <Версия HTTP> 
    <Код состояния> 
    <Поясняющая фраза>

    Код состояния ( Status-Code ) – это целочисленный трехразрядный код результата понимания и удовлетворения запроса. Поясняющая фраза (Reason-Phrase) – короткое текстовое описание кода состояния. Код состояния предназначен для обработки программным обеспечением, а поясняющая фраза предназначена для пользователей.

    Первая цифра кода состояния определяет класс ответа. Последние две цифры не имеют определенной роли в классификации. Имеется 5 значений первой цифры:

  • 1xx: Информационные коды – запрос получен, продолжается обработка.
  • 2xx: Успешные коды – действие было успешно получено, понято и обработано.
  • 3xx: Коды перенаправления – для выполнения запроса должны быть предприняты дальнейшие действия.
  • 4xx: Коды ошибок клиента – запрос имеет ошибку синтаксиса или не может быть выполнен.
  • 5xx: Коды ошибок сервера – сервер не в состоянии выполнить допустимый запрос.
  • За строкой состояния следуют заголовки (общие, ответа и объекта) и, возможно, тело сообщения.

    Гипертекст

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

    Гипертекст - принцип организации информационных массивов, при котором отдельные информационные элементы связаны между собой ассоциативными отношениями, обеспечивающими быстрый поиск необходимой информации и/или просмотр взаимосвязанных данных.

    Ассоциативная связь - вид связи, устанавливаемый исходя из заданного сочетания признаков данных, которые образуют упорядоченные последовательные цепочки. Указатели на связанные данные могут размещаться в самих данных или программных средствах управления базой данных.

    В компьютерной терминологии, гипертекст — размеченный текст, содержащий в себе ссылки на внешние ресурсы. Примером гипертекста могут служить документы на HTML (гипертекстовом языке разметки), размещённые в Интернет.

    Universal Resource Identifier и Universal Resource Locator

    Для идентификации ресурсов (зачастую файлов или их частей) в WWW используются единообразные идентификаторы ресурсов URI (англ. Uniform Resource Identifier). URI — это короткая строка, позволяющая идентифицировать какой-либо ресурс: документ, изображение, файл, службу, ящик электронной почты и т. д. URI предоставляет простой и расширяемый способ идентификации ресурсов. Расширяемость URI означает, что уже существуют несколько схем идентификации внутри URI, и ещё больше будет создано в будущем.

    В базовом виде URI представляется как:

    <схема>:<идентификатор-в-зависимости-от-схемы>

    где: <схема> - схема обращения к ресурсу, например http, ftp, mailto, urn

    <идентификатор-в-зависимости-от-схемы> - непосредственный идентификатор ресурса, вид которого зависит от выбранной схемы обращения к ресурсу.

    Часть идентификатора URI без схемы обращения к ресурсу часто называется "ссылкой URI". Прецеденты применения ссылок URI имеются в HTML, XHTML, XML и XSLT. Процесс превращения ссылки URI в абсолютную форму URI называют разрешением URI.

    Примеры абсолютных URI:

    http://ru.wikipedia.org/wiki/URI
    ftp://ftp.is.co.za/rfc/rfc1808.txt 
    file://C:\UserName.HostName\Projects\Wikipedia_Articles\URI.xml 
    mailto:John.Doe@example.com 
    news:comp.infosystems.www.servers.unix 
    data:text/plain;charset=iso-8859-7,%be%fg%be 
    tel:+1-816-555-1212 
    telnet://192.0.2.16:80/

    Примеры ссылок URI:

    /relative/URI/with/absolute/path/to/resource.txt 
    relative/path/to/resource.txt 
    ../../../resource.txt
    resource.txt /resource.txt
    #frag01 #frag01
    Вернуться к учебному плану