web весна 2012 лекция 1

23
Web-технологии Смаль Дмитрий

Upload: technopark

Post on 24-Dec-2014

65 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Web весна 2012 лекция 1

Web-технологии

Смаль Дмитрий

Page 2: Web весна 2012 лекция 1

История сети Internet1969 – сеанс связи ARPANET

1971 – отправка первого Email

1983 – ARPANET переходит на TCP/IP

1984 – запущена система DNS

1989 – появление WWW, HTTP, HTML

1993 – первый браузер – NCSA Mosaic

1995 – Yahoo, Hotmail, Amazon.com

Page 3: Web весна 2012 лекция 1
Page 4: Web весна 2012 лекция 1

Направление развития ПО Клиент-серверная архитектура. Тонкие

клиенты Глобальные приложения: социальные

сети, поиск, почта Мобильные приложения Software as a Service Облачные сервисы

Page 5: Web весна 2012 лекция 1

Сегменты web приложений Традиционные сайты: новости, блоги,

wiki, базы знаний, визитки.

Глобальные приложения: почтовые сервисы, поиск, социальные сети.

E-commerce: магазины, бронирование, цифровая дистрибуция.

Замена desktop приложениям: банк-клиенты, CRM, корпоративный софт.

SAAS – то же cамое, но онлайн.

Page 6: Web весна 2012 лекция 1

Чем можно заняться ?

Front-end разработка

Back-end разработка

Разработка под мобильные платформы

Инфраструктура

Архитектура

Системное программирование

Прочее (seo, security, management)

Page 7: Web весна 2012 лекция 1

URL vs URIURI – идентификатор - mailto:[email protected],

tel:02, urn:isbn:0-395-36341-1

URL – определяет положение ресурса

http://tom:[email protected]/h/1.html?a=b

http – протокол

tom:abc – логин / пароль

host.com – адрес сервера

/h/1.html – путь к ресурсу

a=b – параметры (query string)

Page 8: Web весна 2012 лекция 1

DNS — Domain Name System

Page 9: Web весна 2012 лекция 1

DNS — Domain Name System

Отличие домена и зоны DNS

Что возвращает DNS? Виды записей

Рекурсивные и итеративные запросы

Обратные зоны

CDN – content delivery network

Google public DNS – 8.8.8.8 8.8.4.4

Page 10: Web весна 2012 лекция 1

IP адресация 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

Page 11: Web весна 2012 лекция 1

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)

Page 12: Web весна 2012 лекция 1
Page 13: Web весна 2012 лекция 1

Другие протоколы

HTTP – передача гипертекста

FTP – передача файлов

SMTP – передача почты

POP3, IMAP – получение почты

RFC822 - Internet Text Message format

Page 14: Web весна 2012 лекция 1

Document Root1) Загрузка с диска

1.html → /home/user/ht/1.html

img/1.jpg → /home/user/ht/img/1.jpg

2) Загрузка с сервера

DocumentRoot = /htdocs

http://www.ru/ → /htdocs/index.html

http://www.ru/img/1.jpg → /htdocs/img/1.jpg

Page 15: Web весна 2012 лекция 1

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>

Page 16: Web весна 2012 лекция 1

HTML тэгиПарные: <b></b>(bold), <i></i>(italic),

<a></a> (anchor), <quote></quote>

Одиночные: <img>, <link>

Структурые: <body>, <ul>, <div>, <span>

HTML аттрибуты

HTML тэги

Стандартные: id, style, class, title, ..

Специфичные: href, src, rowspan,

Пользовательские: data-myattr

Page 17: Web весна 2012 лекция 1

SSI

<!--# include file=”/header.html” –->

<!--# echo var=”Email” -->

<!--# set var=”Email” value=”[email protected]” -->

<!--# if expr=”$Email” -->

<!--# else -->

<!--# endif -->

<!--# config -->

Page 18: Web весна 2012 лекция 1

CGI скрипты

#!/usr/bin/python2.7

print "Content-type: text/html"

print ""

print "<h1>Hello, world!</h1>"

import os

for k, v in os.environ.items():

print "%s = %s<br>" % (k, v)

Page 19: Web весна 2012 лекция 1

CGI Environment

REQUEST_METHOD – метод (GET, POST, …)

REQUEST_URI – строка запроса

QUERY_STRING - строка параметров

REMOTE_ADDR – ip адрес клиента

SCRIPT_NAME – имя текущего скрипта

HTTP_COOKIE – заголовок Cookie:

HTTP_REFERER – заголовок Referer:

Page 20: Web весна 2012 лекция 1

Forms and Anchors<a href=”/search/?q=bob&site=mail.ru”> Найти </a>

<form method=”GET” action=”/search/”>

<input type=”text” name=”q” value=””/>

<input type=”text” name=”site” value=””/>

<input type=”submit”/>

</form>

Page 21: Web весна 2012 лекция 1

Шаблоны<ul>

[% IF say_hello %]

<h1>Hello, world!</h1>

[% END %]

[% FOR e IN environ %]

<li>[% e.name %] = [% e.value %]</li>

[% END %]

</ul>

Page 22: Web весна 2012 лекция 1

JavaScript

Язык программирования браузера

Java / C подобный синтаксис

DOM – дерево, DHTML

События и обработчики

XHR и Ajax

Event-driven programming

JQuery, Prototype, YUI, ...

Page 23: Web весна 2012 лекция 1