SlideShare uma empresa Scribd logo
1 de 25
Web технологи
Дмитрий Смаль
1969 – сеанс связи ARPANET
1971 – отправка первого Email
1983 – ARPANET переходит на TCP/IP
1984 – запущена система DNS
1989 – появление WWW, HTTP, HTML
1993 – первый браузер – NCSA Mosaic
1995 – Yahoo, Hotmail, Amazon.com
История сети Internet
Браузерные войны
●Клиент-серверная архитектура. Тонкие клиенты.
●Глобальные приложения: cоциальные сети,
поиск, почта
●Мобильные приложения
●Software as a Service
●Облачные сервисы
Направления развития ПО
●Традиционные сайты: новости, блоги, wiki, базы знаний,
визитки.
●Глобальные приложения: почтовые сервисы, поиск,
социальные сети.
●E-commerce: магазины, бронирование, цифровая
дистрибуция.
●Замена desktop приложениям: банк-клиенты, CRM,
корпоративный софт.
●SAAS – то же cамое, но онлайн.
Web приложения
●Front-end разработка
●Back-end разработка
●Разработка под мобильные платформы
●Инфраструктура
●Архитектура
●Системное программирование
●Прочее (seo, security, management)
Чем можно заняться ?
Как работает современный сайт
?
●94.100.191.201 – один из адресов Mail.Ru
●127.0.0.1 – всегда адрес лок. компьютера
●192.168.12.14 – private ip (не уникален)
●192.168.0.0/16 – адрес подсети
●12.0xbad – тоже валидный адрес
●2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d
IP адресация
DNS
●Отличие домена и зоны DNS
●Что возвращает DNS? Виды записей
●Рекурсивные и итеративные запросы
●Обратные зоны
●CDN – content delivery network
●Google public DNS – 8.8.8.8 8.8.4.4
DNS
●HTTP – передача гипертекста
●FTP – передача файлов
●SMTP – передача почты
●POP3, IMAP – получение почты
●SSH – удаленный доступ к серверу
●SFTP – FTP через SSH
●XMPP – Jabber, мгновенные сообщения
●TCP ?
Протоколы Internet
●RFC822 - Internet Text Message format
●XML
●JSON, JSONP
●CSV
●MIME
●JPEG / PNG / GIF
●PDF
Форматы Internet
HTTP
GET /wiki/страница HTTP/1.1
Host: ru.wikipedia.org
Accept: text/html
Connection: close
(пустая строка)
HTTP/1.1 200 OK
Server: Apache
Content-Language: ru
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Connection: close
(HTML)
URI vs URL
URI – идентификатор
URL – определяет положение ресурса
mailto:me@tut.ru
tel:02
urn:isbn:0-395-36341-1
http://tom:abc@host.com/h/1.html?a=b
http – протокол
tom:abc – логин / пароль
host.com – адрес сервера
/h/1.html – путь к ресурсу
a=b – параметры (query string)
HTTP – загрузка файлов
Загрузка с диска
Загрузка с сервера
1.html /home/user/ht/1.html→
img/1.jpg /home/user/ht/img/1.jpg→
DocumentRoot = /htdocs
http://www.ru/ /htdocs/index.html→
http://www.ru/img/1.jpg /htdocs/img/1.jpg→
HTML
<ul id="tab_main">
<li>
<a href="/content">
<img src="/img/content.png" alt="Статьи">
Статьи
</a>
</li>
<li>
<a href="/blog">
<img src="/img/blog.png" alt="Блог">
<b>Блог</b>
</a>
</li>
</ul>
HTML
HTML тэги
HTML аттрибуты
Парные: <b></b>(bold), <i></i>(italic), <a></a>
(anchor), <quote></quote>
Одиночные: <img>, <link>
Структурые: <body>, <ul>, <div>,<span>
Стандартные: id, style, class, title, ..
Специфичные: href, src, rowspan,
Пользовательские: data-myattr
Формы и ссылки
<a href=”/search/?q=bob&site=mail.ru”>Найти</a>
<a name=”chapter1”></a>
<a href=”#chapter1”>Глава 1</a>
<form method=”GET” action=”/search/”>
<input type=”text” name=”q” value=””/>
<input type=”text” name=”site” value=””/>
<input type=”submit”/>
</form>
CGI
REQUEST_METHOD – метод (GET, POST, …)
REQUEST_URI – строка запроса
QUERY_STRING - строка параметров
REMOTE_ADDR – ip адрес клиента
SCRIPT_NAME – имя текущего скрипта
HTTP_COOKIE – заголовок Cookie:
HTTP_REFERER – заголовок Referer:
Переменные окружения
CGI - скрипт
#!/usr/bin/python2.7
print "Content-Type: text/html"
print ""
print "<html><body>"
print "<h1>hello, world!</h1>"
import os
for k, v in os.environ.items():
print "%s = %s<br>" % (k, v)
print "</html></body>"
Ошибочка ?
Шаблонизация
<ul>
[% IF say_hello %]
<h1>Hello, world!</h1>
[% END %]
[% FOR e IN environ %]
<li>[% e.name %] = [% e.value %]</li>
[% END %]
</ul>
Шаблон sample.tpl
Скрипт do.cgi
return render_to_response('sample.tpl', {
'say_hello' : True,
'environ': os.environ
})
SSI
<!--# include file=”/header.html” –->
<div class=”user-email”>
<!--# set var=”Email” value=”me@a.ru” -->
<!--# echo var=”Email” -->
</div>
<!--# if expr=”$Email” →
Авторизован
<!--# else -->
Вам нужно авторизоваться
<!--# endif -->
<!--# config -->
JavaScript
●Язык программирования браузера
●Java / C подобный синтаксис
●DOM – дерево, DHTML
●События и обработчики
●XHR и Ajax
●Event-driven programming
●JQuery, Prototype, Backbone, YUI, ...
FireBug - F12
Спасибо за внимание
Дмитрий Смаль, smal@corp.mail.ru

Mais conteúdo relacionado

Semelhante a Web осень 2012 лекция 1

Web весна 2013 лекция 1
Web весна 2013 лекция 1Web весна 2013 лекция 1
Web весна 2013 лекция 1
Technopark
 
введение в интернет
введение в интернетвведение в интернет
введение в интернет
Ulyana1973
 
Обзор рекомендаций W3C
Обзор рекомендаций W3CОбзор рекомендаций W3C
Обзор рекомендаций W3C
GetDev.NET
 
Hivext – облачная платформа для быстрой разработки интернет приложений
Hivext – облачная платформа для быстрой разработки  интернет приложений Hivext – облачная платформа для быстрой разработки  интернет приложений
Hivext – облачная платформа для быстрой разработки интернет приложений
guest800050
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
sportgid
 
Web осень 2013 лекция 1
Web осень 2013 лекция 1Web осень 2013 лекция 1
Web осень 2013 лекция 1
Technopark
 
Урок 1. Введение в курс разработки сайтов. Web – технологии.
Урок 1. Введение в курс разработки сайтов. Web – технологии.Урок 1. Введение в курс разработки сайтов. Web – технологии.
Урок 1. Введение в курс разработки сайтов. Web – технологии.
oksikboss
 
сравнение Drupal и 1с битрикс
сравнение Drupal и 1с битрикссравнение Drupal и 1с битрикс
сравнение Drupal и 1с битрикс
Andrii Podanenko
 

Semelhante a Web осень 2012 лекция 1 (20)

Web весна 2013 лекция 1
Web весна 2013 лекция 1Web весна 2013 лекция 1
Web весна 2013 лекция 1
 
введение в интернет
введение в интернетвведение в интернет
введение в интернет
 
лекция5
лекция5лекция5
лекция5
 
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
 
Обзор рекомендаций W3C
Обзор рекомендаций W3CОбзор рекомендаций W3C
Обзор рекомендаций W3C
 
Hivext 04.2010
Hivext 04.2010Hivext 04.2010
Hivext 04.2010
 
Hivext – облачная платформа для быстрой разработки интернет приложений
Hivext – облачная платформа для быстрой разработки  интернет приложений Hivext – облачная платформа для быстрой разработки  интернет приложений
Hivext – облачная платформа для быстрой разработки интернет приложений
 
WWW
WWWWWW
WWW
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
 
Major mistakes in site moving
Major mistakes in site movingMajor mistakes in site moving
Major mistakes in site moving
 
Web осень 2013 лекция 1
Web осень 2013 лекция 1Web осень 2013 лекция 1
Web осень 2013 лекция 1
 
Урок 1. Введение в курс разработки сайтов. Web – технологии.
Урок 1. Введение в курс разработки сайтов. Web – технологии.Урок 1. Введение в курс разработки сайтов. Web – технологии.
Урок 1. Введение в курс разработки сайтов. Web – технологии.
 
Present.pps
Present.ppsPresent.pps
Present.pps
 
Present.pps
Present.ppsPresent.pps
Present.pps
 
Безопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр ВолковБезопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр Волков
 
Positive Hack Days. Воронцов. Безопасность браузеров: новый взгляд (0-day)
Positive Hack Days. Воронцов. Безопасность браузеров: новый взгляд (0-day)Positive Hack Days. Воронцов. Безопасность браузеров: новый взгляд (0-day)
Positive Hack Days. Воронцов. Безопасность браузеров: новый взгляд (0-day)
 
Seo проектирование сайта
Seo проектирование сайтаSeo проектирование сайта
Seo проектирование сайта
 
сравнение Drupal и 1с битрикс
сравнение Drupal и 1с битрикссравнение Drupal и 1с битрикс
сравнение Drupal и 1с битрикс
 
01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложений01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложений
 
Hpc Day
Hpc DayHpc Day
Hpc Day
 

Mais de Technopark

СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
Technopark
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
Technopark
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
Technopark
 

Mais de Technopark (20)

Лекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelЛекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель Pregel
 
Лекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuЛекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.Ru
 
Лекция 13. YARN
Лекция 13. YARNЛекция 13. YARN
Лекция 13. YARN
 
Лекция 12. Spark
Лекция 12. SparkЛекция 12. Spark
Лекция 12. Spark
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache Mahout
 
Лекция 9. ZooKeeper
Лекция 9. ZooKeeperЛекция 9. ZooKeeper
Лекция 9. ZooKeeper
 
Лекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveЛекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и Hive
 
Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)
 
Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)
 
Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)
 
Лекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSЛекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFS
 
Лекция 2. Основы Hadoop
Лекция 2. Основы HadoopЛекция 2. Основы Hadoop
Лекция 2. Основы Hadoop
 
Лекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceЛекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduce
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"
 
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
 

Web осень 2012 лекция 1

  • 2. 1969 – сеанс связи ARPANET 1971 – отправка первого Email 1983 – ARPANET переходит на TCP/IP 1984 – запущена система DNS 1989 – появление WWW, HTTP, HTML 1993 – первый браузер – NCSA Mosaic 1995 – Yahoo, Hotmail, Amazon.com История сети Internet
  • 4. ●Клиент-серверная архитектура. Тонкие клиенты. ●Глобальные приложения: cоциальные сети, поиск, почта ●Мобильные приложения ●Software as a Service ●Облачные сервисы Направления развития ПО
  • 5. ●Традиционные сайты: новости, блоги, wiki, базы знаний, визитки. ●Глобальные приложения: почтовые сервисы, поиск, социальные сети. ●E-commerce: магазины, бронирование, цифровая дистрибуция. ●Замена desktop приложениям: банк-клиенты, CRM, корпоративный софт. ●SAAS – то же cамое, но онлайн. Web приложения
  • 6. ●Front-end разработка ●Back-end разработка ●Разработка под мобильные платформы ●Инфраструктура ●Архитектура ●Системное программирование ●Прочее (seo, security, management) Чем можно заняться ?
  • 8. ●94.100.191.201 – один из адресов Mail.Ru ●127.0.0.1 – всегда адрес лок. компьютера ●192.168.12.14 – private ip (не уникален) ●192.168.0.0/16 – адрес подсети ●12.0xbad – тоже валидный адрес ●2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d IP адресация
  • 9. DNS
  • 10. ●Отличие домена и зоны DNS ●Что возвращает DNS? Виды записей ●Рекурсивные и итеративные запросы ●Обратные зоны ●CDN – content delivery network ●Google public DNS – 8.8.8.8 8.8.4.4 DNS
  • 11. ●HTTP – передача гипертекста ●FTP – передача файлов ●SMTP – передача почты ●POP3, IMAP – получение почты ●SSH – удаленный доступ к серверу ●SFTP – FTP через SSH ●XMPP – Jabber, мгновенные сообщения ●TCP ? Протоколы Internet
  • 12. ●RFC822 - Internet Text Message format ●XML ●JSON, JSONP ●CSV ●MIME ●JPEG / PNG / GIF ●PDF Форматы Internet
  • 13. HTTP GET /wiki/страница HTTP/1.1 Host: ru.wikipedia.org Accept: text/html Connection: close (пустая строка) HTTP/1.1 200 OK Server: Apache Content-Language: ru Content-Type: text/html; charset=utf-8 Content-Length: 1234 Connection: close (HTML)
  • 14. URI vs URL URI – идентификатор URL – определяет положение ресурса mailto:me@tut.ru tel:02 urn:isbn:0-395-36341-1 http://tom:abc@host.com/h/1.html?a=b http – протокол tom:abc – логин / пароль host.com – адрес сервера /h/1.html – путь к ресурсу a=b – параметры (query string)
  • 15. HTTP – загрузка файлов Загрузка с диска Загрузка с сервера 1.html /home/user/ht/1.html→ img/1.jpg /home/user/ht/img/1.jpg→ DocumentRoot = /htdocs http://www.ru/ /htdocs/index.html→ http://www.ru/img/1.jpg /htdocs/img/1.jpg→
  • 16. HTML <ul id="tab_main"> <li> <a href="/content"> <img src="/img/content.png" alt="Статьи"> Статьи </a> </li> <li> <a href="/blog"> <img src="/img/blog.png" alt="Блог"> <b>Блог</b> </a> </li> </ul>
  • 17. HTML HTML тэги HTML аттрибуты Парные: <b></b>(bold), <i></i>(italic), <a></a> (anchor), <quote></quote> Одиночные: <img>, <link> Структурые: <body>, <ul>, <div>,<span> Стандартные: id, style, class, title, .. Специфичные: href, src, rowspan, Пользовательские: data-myattr
  • 18. Формы и ссылки <a href=”/search/?q=bob&site=mail.ru”>Найти</a> <a name=”chapter1”></a> <a href=”#chapter1”>Глава 1</a> <form method=”GET” action=”/search/”> <input type=”text” name=”q” value=””/> <input type=”text” name=”site” value=””/> <input type=”submit”/> </form>
  • 19. CGI REQUEST_METHOD – метод (GET, POST, …) REQUEST_URI – строка запроса QUERY_STRING - строка параметров REMOTE_ADDR – ip адрес клиента SCRIPT_NAME – имя текущего скрипта HTTP_COOKIE – заголовок Cookie: HTTP_REFERER – заголовок Referer: Переменные окружения
  • 20. CGI - скрипт #!/usr/bin/python2.7 print "Content-Type: text/html" print "" print "<html><body>" print "<h1>hello, world!</h1>" import os for k, v in os.environ.items(): print "%s = %s<br>" % (k, v) print "</html></body>" Ошибочка ?
  • 21. Шаблонизация <ul> [% IF say_hello %] <h1>Hello, world!</h1> [% END %] [% FOR e IN environ %] <li>[% e.name %] = [% e.value %]</li> [% END %] </ul> Шаблон sample.tpl Скрипт do.cgi return render_to_response('sample.tpl', { 'say_hello' : True, 'environ': os.environ })
  • 22. SSI <!--# include file=”/header.html” –-> <div class=”user-email”> <!--# set var=”Email” value=”me@a.ru” --> <!--# echo var=”Email” --> </div> <!--# if expr=”$Email” → Авторизован <!--# else --> Вам нужно авторизоваться <!--# endif --> <!--# config -->
  • 23. JavaScript ●Язык программирования браузера ●Java / C подобный синтаксис ●DOM – дерево, DHTML ●События и обработчики ●XHR и Ajax ●Event-driven programming ●JQuery, Prototype, Backbone, YUI, ...