Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_PSP.docx
Скачиваний:
3
Добавлен:
27.09.2019
Размер:
366.75 Кб
Скачать

2. Протокол mime.

Протокол MIME - многоцелевое расширение электронной почты был создан как способ передачи нетекстовой информации: изображений, звука, видео в письмах электронной почты. Механизм оказался удачным, и его перенесли и в on-line сервисы, в том числе WWW. Здесь MIME используется для передачи документов от сервера к клиенту.

В общем виде MIME основывается на передаче вместе с основными данными дополнительной информации, описывающей что это и в каком виде передается. Эта дополнительная информация называется заголовок MIME. Базовой частью заголовка является строка, описывающая тип передаваемого сообщения. Формат строки:

Content-Type: <тип_MIME>

Перечень типов MIME (т.е. видов передаваемых данных) постоянно пополняется и может быть дополнен даже пользователем для описания своего собственного вида данных. Формат типа MIME:

<Тип> / <Подтип> [ ; <параметры> ]

Где <Тип> - определяет общий тип данных:

Audio - для звуковых данных ; Application - данные, являющиеся входными для какого-либо приложения (программы); Image - для графических образов; Message - для сообщения, которое само по себе является MIME - документом; Multipart - для сообщения, состоящего из нескольких MIME – документов; Text - для текстовых данных в различном виде; Video - для видеоданных.

<Подтип> - указывает на специфический формат данных типа <Тип>.

Например:

text/html - текстовые данные в формате HTML image/giff - графические данные в формате gifF .

<Параметры> - список параметров, необходимых для интерпретации данных.

Для ведения специфичной обработки файлов различных типов и форматов на клиентской и серверной частях поддерживаются списки соответствий типов MIME и расширений файлов. Формат записи такого списка:

<Тип>/<Подтип> <расширение1> ... <расширениеN>

Эти списки сопоставляют всем файлам, имеющим определенные расширения, определенные типы MIME.

Например: image/giff gif giff text/html html htm

В первой строке всем файлам с расширением gif и giff приписывается тип содержимого image/giff. Если для типа содержимого image/giff определены специальные правила обработки (например, отображение на экране в определенной области), то так будут обрабатываться все файлы с расширениями gif и giff.

3.Протокол http.

Протокол HTTP определяет язык запросов от WWW - клиента к WWW - серверу. Сам запрос состоит из следующих компонент:

<Заголовок> <Метод> <Источник / Данные>

где:

  • заголовок - определяет версию протокола HTTP и другие служебные параметры;

  • метод - одно из ключевых слов:

  • GET - для передачи запросов на выдачу документов ;

  • PUT, POST - для передачи данных от клиента к серверу (например, из форм)

Пример запроса: HTTP/1.1 GET /index.html

Описывает запрос на получение файла index.html из корневого каталога документов сервера.

Что происходит во время сеанса http?

1 -й этап: установление TSP-соединения. Перед тем как протокол HTTP начнет свою работу, компьютер, на котором установлен Web-браузер, должен подсоединиться к компьютеру, на котором установлен Web-сервер. Это соединение устанавливается с помощью протокола TCP, который вместе с протоколом IP используется для связи с большинством протоколов. Из-за этого Internet часто называют сетью TCP/IP.

Р ис.1 Этапы сеанса HTTP.

HTTP – это протокол более высокого уровня, чем TCP, который в свою очередь более высокий уровень, чем IP. Как правило, протокол высокого уровня не может работать, пока не установлен протокол низкого уровня. HTTP – это протокол уровня приложений, т.е. протокол самого высокого уровня в модели TCP/IP. Если Вы введете в Web-броузер URL, то первое, что компьютер-клиент выполнит поиск DNS-машины, указанного в URL. Если Вы подключаетесь к серверу через Internet, то Ваш запрос на пути к серверу пройдет несколько компьютеров. Такой компьютер называется маршрутизатор, он соединяет независимые сети друг с другом. Когда TCP-соединение установлено начинается сеанс HTTP и сервер передает данные броузеру. Если Web-сервер не доступен, то выполнение запроса прекращается.

2-й этап: броузер посылает команду серверу. Когда соединение установлено, Web-броузер передает команду Web-серверу. В этой команде указывается метод передачи, идентификатор ресурса и номер версии HTTP. Вот пример строки запроса:

GET /cgi-bin/biblio.exe/enter

Первая часть, в данном случае GET, - это метод запроса, cgi-bin – запрашиваемый URL, biblio.exe/enter – команда выполнения файла biblio.exe.

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

4-й этап: Web-сервер отвечает. После того как броузер передал строку запроса серверу, последующий передает ему ответ. В начале этой строки идут имя протокола и номер версии. В конце строки стоит код статуса ответа. Почти всегда это 200 ОК, что означает, что запрос принят успешно, сервер распознал запрос и начинает передавать запрошенные данные. Другой код ответа, который возможно встретить – 400 Not Found, что означает, что сервер не может найти запрошенный ответ.

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

6-й этап: сервер посылает данные броузеру. После передачи всех заголовков сервер передает пустую строку, чтобы показать, что заголовки закончились. Затем он передает собственно запрошенные данные в том формате, который был указан в заголовке типа содержимого.

7-й этап: сервер закрывает TCP-соединение. Обычно после передачи запрошенного ресурса броузеру сервер закрывает TCP-соединение.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]