09.12.2017 1 Основы Web-технологий Павел Храмцов [email protected] 09.12.2017
09.12.2017 1 Основы Web-технологий Павел Храмцов [email protected]
09.12.2017 2 WWW: История вопроса HTML: История развития гипертекста 1945. Ванневар Буш. Memex 1965. Тед Нельсон. "Гипертекст" 1968. Дуглас Енжильбард. Мышь + гипертекстовый интерфейс 1975. ZOG/KMS ---> Norton Commander 1987. HYPERTEXT`87 1989. World Wide Web: Proposal for HyperText Project (Tim Berners-Lee)
09.12.2017 3 WWW: История вопроса История развития Web – Технологий HTTP (1990) => Архитектура "Клиент-сервер" HTML (1990) URL (1990 -> URI) HTML FORMS + CGI (1993 Mosaic -> Mozilla) HTML + JavaScript (1995 Netscape) IE (1995) -> ASP, CSS, Channels (XML)… Java (1995) -> Applets, Servlets, JSP, … ... XML, XSL (XSLT), Ajax …
09.12.2017 4 Обмен данными в рамках WWW Клиент (мультипротокольный) HTTP - Сервер HTML URL (URI) CSS JavaScript Java Plug-ins CGI SSI PHP ASP JSP API Perl Java FTP HTTP FTP - сервер
09.12.2017 5 WWW: HTML Важным моментом, повлиявшим на судьбу HTML, стало то, что в качестве основы был выбран обычный текстовый файл. Выбор был сделан под влиянием следующих факторов: такой файл можно создать в любом текстовом редакторе на любой аппаратной платформе в среде какой угодно операционной системы; к моменту разработки HTML существовал американский стандарт для разработки сетевых информационных систем — Z39.50, в котором в качестве единицы хранения указывался простой текстовый файл в кодировке LATIN1, что соответствует US ASCII. Таким образом, гипертекстовая база данных в концепции WWW — это набор текстовых файлов, размеченных на языке HTML, который определяет форму представления информации (разметка) и структуру связей между этими файлами и другими информационными ресурсами (гипертекстовые ссылки). Гипертекстовые ссылки, устанавливающие связи между текстовыми документами, постепенно стали объединять самые различные информационные ресурсы, в том числе звук и видео; в результате возникло новое понятие — гипермедиа.
09.12.2017 6 WWW: URI Universal Resource Identifier – универсальный дентификатор. URI определяет способ записи (кодирования) адресов различных информационных ресурсов при обращении к ним из страниц WWW. Место применения URI – гипертекстовые ссылки, которые записываются в тагах и ; встраиваемые графические объекты также адресуются по спецификации URI в тагах и
09.12.2017 7 WWW: URI В основу URI были заложены следующие принципы: Расширяемость - новые адресные схемы должны были легко вписываться в существующий синтаксис URI. Полнота - по возможности, любая из существовавших схем должна была описываться посредством URI. Читаемость - адрес должен был быть легко читаем пользователем, что вообще характерно для технологии WWW - документы вместе с ссылками могут разрабатываться в обычном текстовом редакторе.
09.12.2017 8 WWW: Схемы адресации ресурсов Internet Схема HTTP. http://polyn.net.kiae.su/polyn/manifest.html http://144.206.160.40/risk/risk.htm http://144.206.130.137:8080/altai/index.htm http://polyn.net.kiae.su/altai/volume4.html#first http://polyn.net.kiae.su/isindex.html?keyword1+keyword2 http://polyn.net.kiae.su/isindex.html?keyword1%20keyword2 http://polyn.net.kiae.su/isindex.html?field1=value1&field2=value Схема FTP: ftp://nobody:[email protected]/users/local/pub
09.12.2017 9 WWW: Схемы адресации ресурсов Internet Схема Gopher: gopher://gopher.kiae.su:70:/7/kuku (поиск по слову “kuku”) Схема MAILTO: mailto:[email protected] Схема NEWS: news:comp.infosystems.gopher (список) news:[email protected] (текст статьи) Схема NNTP nntp:comp.infosystems.gopher/086
09.12.2017 10 WWW: Схемы адресации ресурсов Internet Схема TELNET : telnet://guest:[email protected] Схема WAIS : wais://wais.think.com/wais?guide wais://wais.think.com/wais/wtype/039=/kuku/kuku.txt Схема FILE : file:///C|/text/html/index.htm
09.12.2017 11 WWW: Схемы адресации ресурсов Internet Универсальный идентификатор ресурса был придуман для обеспечения однотипности идентификации информационных ресурсов Интернета. Его реализации отличаются друг от друга способом реализации и набором дейтсвий, которые выполняет прикладная программа при обработке идентификатора. Идентификатор позволяет описать не только существующие информационные ресурсы Интернета и технологии доступа к ним, но и возможные будущие информационные ресурсы, построенные на принципах, отличных от современных технологий.
09.12.2017 12 WWW: HypetText Transfer Protocol Принцип работы: HTTP – это протокол, реализующий схему «клиент-сервер» Обмен данными между клиентом и сервером называется транзакцией Транзакция состоит из запроса клиента и ответа сервера Каждый запрос(ответ) состоят из: строки запроса(ответа), раздела заголовка, тела.
09.12.2017 13 WWW: HypetText Transfer Protocol Принцип работы: Клиент инициирует транзакцию, обращаясь на 80-ый порт TCP. Посылает команду, которая называется методом, адрес документа и версию протокола: GET /index.html HTTP/1.1 3. Со следующей строки запроса начинается заголовок запроса: User-Agent: Mozilla Accept: image/gif Host: www.kuku.ru 4. Далее следует пустая строка, которая отделяет заголовок от тела
09.12.2017 14 WWW: HypetText Transfer Protocol Принцип работы: Сервер отвечает строкой состояния: HTTP/1.1 200 OK 2. Далее со следующей строки следует заголовок Date: Thu, 27 Mar 2008 11:56:04 GMT Server: Apache/2.2.4 (Unix) PHP/4.4.6 mod_ssl/2.2.4 OpenSSL/0.9.8d Content-Length: 161 Connection: close Content-Type: text/html; charset=windows-1251 3. Через пустую строку посылаются данные в теле ответа
09.12.2017 15 WWW: HypetText Transfer Protocol Пример: %telnet ipgeobase.ru 80 Trying 194.85.91.253... Connected to ipgeobase.ru. Escape character is '^]'. GET / HTTP/1.0 HTTP/1.1 200 OK Date: Thu, 27 Mar 2008 11:56:04 GMT Server: Apache/2.2.4 (Unix) PHP/4.4.6 mod_ssl/2.2.4 OpenSSL/0.9.8d Content-Length: 161 Connection: close Content-Type: text/html; charset=windows-1251
Index of /
09.12.2017 16 WWW: HypetText Transfer Protocol Методы: GET - запрашивает данные полностью HEAD - запрашивает только заголовок POST - запрашивает данные полностью LINK - связывает заголовок с документом на сервере UNLINK – отменяет LINK PUT - публикует данные на сервере DELETE – удаляет данные на сервере OPTIONS – запрашивает информацию о параметрах соединения и сервера TRACE – используется для отладки
09.12.2017 17 WWW: HypetText Transfer Protocol GET - запрашивает данные полностью GET / HTTP/1.0 HTTP/1.1 200 OK Date: Thu, 27 Mar 2008 11:56:04 GMT Server: Apache/2.2.4 (Unix) PHP/4.4.6 mod_ssl/2.2.4 OpenSSL/0.9.8d Content-Length: 161 Connection: close Content-Type: text/html; charset=windows-1251
Index of /
09.12.2017 18 WWW: HypetText Transfer Protocol HEAD / HTTP/1.0 HTTP/1.1 200 OK Date: Thu, 27 Mar 2008 12:05:34 GMT Server: Apache/2.2.4 (Unix) PHP/4.4.6 mod_ssl/2.2.4 OpenSSL/0.9.8d Connection: close Content-Type: text/html; charset=windows-1251
09.12.2017 19 WWW: HypetText Transfer Protocol POST /test.cgi HTTP/1.0 User-Agent: Mozilla/2.02Gold (WinNT; I) Accept: image/gif Host: www.kuku.ru Content-type: application/x-www-form-urlencoded Content-length: 21 Field1=kuku&field2=20
09.12.2017 20 WWW: HypetText Transfer Protocol Коды ответов: 100-199 Информационные 200-299 Запрос успешный 300-399 Переадресация 400-499 Запрос неполный 500-599 Ошибка сервера
09.12.2017 21 WWW: HypetText Transfer Protocol Коды наиболее «популярных» ответов: 200 Ок Запрос обработан успешно 301 Moved Permanently Страница перемещена 302 Moved Temporarily Страница перемещена временно 304 Not Modified Не изменился 305 Use proxy Нужно использовать сервер-посредник 403 Forbidden Доступ не разрешен 404 Not Found Страница не найдена 500 Internal Server Error
09.12.2017 22 WWW: HypetText Transfer Protocol Наиболее «популярные» заголовки: Cache-Control управление кэшированием страниц Pragma: no-cache Host: имя хоста (виртуальный хостинг) Cookie: поддержка сессий Set-Cookie: Referer: ссылающийся документ Content-Length: размер тела документа Expiries: время изменения документа Last-Modified: дата последней модификации Content-Type: типа содержания тела
17224-intro+uri.ppt
- Количество слайдов: 22