Лекция #2. Организация взаимодействия в World Wide Web

50 %
50 %
Information about Лекция #2. Организация взаимодействия в World Wide Web
Technology

Published on March 13, 2014

Author: kyakovenko

Source: slideshare.net

Description

Web-программирование
Лекция #2. Организация взаимодействия в World Wide Web

Цикл лекций читается в Омском государственном университете им. Ф.М.Достоевского на факультете компьютерных наук.
Лектор: Яковенко Кирилл Сергеевич.

WEB-ПРОГРАММИРОВАНИЕ Лекция #2. Организация взаимодействия в World Wide Web Яковенко К. С Омский государственный университет им. Ф. М. Достоевского Факультет компьютерных наук

2 HyperText Transfer Protocol HTTP («протокол передачи гипертекста») — символьно-ориентированный клиент-серверный протокол прикладного уровня без сохранения состояния, является одним из основных протоколов передачи данных в Интернете. Наиболее распространенными версиями на данный момент являются HTTP 1.0 (RFC 1945) и HTTP 1.1 (RFC 2616)

3 Общая схема взаимодействия по протоколу HTTP Картинка честно взята здесь

4 Использование TCP-соединений при передаче HTTP-сообщений TCP-соединения могут использоваться двумя разными способами: Долговременное соединение; Кратковременное соединение. Долговременное соединение, в свою очередь, может быть использовано также двумя способами: Последовательная передача запросов с простоями Конвейерная передача

5 Клиент-серверная архитектура Вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг, называемыми серверами, и заказчиками услуг, называемыми клиентами. Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением.

6 Web-клиент (браузер) Клиентская часть, или веб-клиент, называемый также браузером, или агентом пользователя, представляет собой приложение, которое устанавливается на компьютере конечного пользователя и одной из важных функций которого является поддержание графического пользовательского интерфейса.

7 Web-сервер Cервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, может хранить объекты локально в каталогах компьютера и обеспечивать доступ к этим объектам по URL-адресам. Наиболее популярными веб-серверами сейчас являются Nginx, Apache и Microsoft Internet Information Server.

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

9 Универсальный способ адресации ресурсов в сети. URI (Uniform Resource Identifier) – унифицированный идентификатор ресурса,последовательность символов, идентифицирующая абстрактный или физический ресурс. Подразделяется на: URL (Uniform Resource Locator) – это URI, который, помимо идентификации ресурса, предоставляет ещё и информацию о местонахождении этого ресурса. URN (Uniform Resource Name) – это URI, который только идентифицирует ресурс в определённом пространстве имён, но не указывает его местонахождения.

10 Структура URL <схема>://<логин>:<пароль>@<хост>:<порт>/<URL‐путь>?<параметры>#<якорь> ftp http https file mailto xmpp user:password user google.ru www.google.ru 188.43.64.216 localhost:8000 127.0.0.1:8080 dir_path/file_name.ext first_name=John&last_name=Doe fragment_id

11 Формат HTTP-сообщений HTTP-запрос HTTP-ответ HTTP/1.0 200 OK Пример: GET /wiki/HTTP HTTP/1.0 Обобщенная структура сообщения Стартовая строка (обязательный элемент) GET URI – для версии  протокола 0.9. HTTP/1.x Код Пояснение Пример: Метод URI HTTP/Версия –  для остальных версий. Заголовки (следуют в произвольном порядке или могут отсутствовать) - характеризуют тело сообщения, параметры передачи и прочие сведения (более подробно смотри ниже) Пустая строка Тело сообщения (может отсутствовать) Здесь могут быть расположены ключевые слова для поисковой машины или страницы для передачи на сервер Здесь может быть расположен текст запрашиваемой страницы

12 Методы HTTP. Метод HTTP (HTTP Method) – последовательность из любых символов, кроме управляющих и разделителей, указывающая на основную операцию над ресурсом. Основные: HEAD, GET и POST. Дополнительные: OPTIONS, PUT, PATCH, DELETE, TRACE, LINK, UNLINK, CONNECT

13 Код состояния HTTP-ответа Информирует клиента о результатах выполнения запроса и определяет его дальнейшее поведение. Набор кодов состояния является стандартом, и все они описаны в соответствующих документах RFC. Каждый код представляется целым трехзначным числом. Первая цифра указывает на класс состояния, последующие - порядковый номер состояния. За кодом ответа обычно следует краткое описание на английском языке.

14 Классы кодов состояния HTTP-ответа Класс кодов Краткое описание 1xx Informational (Информационный) информация о процессе передачи. 2xx Success (Успешно) Информация об успешном принятии и обработки запроса клиента. 3xx Redirection (Перенаправление) информация о том, что для успешного выполнения операции нужно произвести следующий запрос по другому URL-адресу, указанному в дополнительном заголовке Location; 4xx Client Error (Ошибка клиента) информация об ошибках на стороне клиента 5xx Server Error (Ошибка сервера) информация о неуспешном выполнения операции по вине сервера

15 Заголовки HTTP-сообщения Cтроки в HTTP-сообщении, содержащие разделённую двоеточием пару параметр-значение. Все заголовки разделяются на четыре основных группы: General Headers  (Основные заголовки)  – должны включаться в любое сообщение клиента и сервера. Request Headers  (Заголовки запроса)  – используются только в запросах клиента. Response Headers  (Заголовки ответа)  – только для ответов от сервера. Entity Headers  (Заголовки сущности) – сопровождают каждую сущность сообщения.

16 Тело HTTP сообщения Тело HTTP сообщения (message-body), если оно присутствует, используется для передачи сущности, которая является полезной информацией, передаваемой в запросе или ответе.

17 Запрос клиента: GET /wiki/страница HTTP/1.1 Host: ru.wikipedia.org User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/200 Firefox/3.0b5 Accept: text/html Connection: close (пустая строка) Ответ сервера: HTTP/1.1 200 OK Date: Wed, 11 Feb 2009 11:20:59 GMT Server: Apache X-Powered-By: PHP/5.2.4-2ubuntu5wm1 Last-Modifed: Wed, 11 Feb 2009 11:20:59 GMT Content-Language: ru Content-Type: text/html; charset=utf-8 Content-Length: 1234 Connection: close (пустая строка) (далее следует запрошенная страница в HTML) Пример: Обычный GET-запрос

18 Дополнительные механизмы взаимодействия в HTTP- протоколе Кроме обычных GET запросов, также выделяют и дополнительные: Частичные GET запросы. Условные GET запросы. Согласование содержимого: – Управляемое сервером – Управляемое клиентом

19 Многоцелевое содержимое (MIME) MIME (Multipurpose Internet Mail Extensions) – стандарт (RFC 5322), описывающий представление данных таким образом, чтобы их можно было пересылать по Интернету и их передачу по электронной почте. Клиенты указывают заголовок Accept для того, чтобы сообщить, в каких форматах они предпочитают принимать данные. Серверы указывают заголовок Content-Type, чтобы сообщить клиенту о том, в каком формате передается прилагаемое содержимое.

20 Динамические и статические сайты Статический сайт состоит из статичных html (htm, dhtml, xhtml) страниц составляющих единое целое. Содержит в себе текст, изображения, мультимедиа содержимое (аудио, видео) и HTML-теги. Все изменения вносятся в исходный код документов (страниц) сайта, для чего необходимо иметь доступ к файлам на веб сервере.

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

22 Хронолигия развития языков web-программирования Картинка чесно взята здесь

23 Яковенко Кирилл Сергеевич kirill.yakovenko@gmail.com Омский государственный университет им. Ф. М. Достоевского Факультет компьютерных наук

Add a comment

Related presentations

Related pages

НОУ ИНТУИТ | Лекция | World Wide Web (WWW ...

Лекция 2 Тест 2 ... В этом случае он способен отвечать одновременно на несколько ... World ...
Read more

НОУ ИНТУИТ | Лекция | World Wide Web (WWW ...

Лекция 2 Тест 2 ... Лекция 16: World Wide Web ... Документы в WWW могут быть сгруппированы в три ...
Read more

Всемирная паутина — Википедия

Тим предложил «world wide web». Все в ... в связи с развитием Web 2.0 ... организация ...
Read more

Лекция 1 Лекция 3 Лекция 4 Лекция 5

Лекция 2. ... в которой эта организация находится ... ПРОСМОТР ДОКУМЕНТОВ В world wide web.
Read more

About CERN | CERN

They use the world's largest and most complex scientific instruments to study the ... The World Wide Web, ... Linear accelerator 2; more . Experiments and ...
Read more

Тема урока Форма организации ...

Организация локальных ... World Wide Web ... Работа в ГИС: Урок - лекция:
Read more

1. Лекция: Предпосылки и ...

... 2.19 Mb.; Лекция: ... World Wide Web Consortium (W3C ... Лекция: Организация реагирования на ...
Read more

Лекции

Лекция 2. Основные ... Лекция 16. World Wide Web ... Организация IGMP 182 ...
Read more