close

Вход

Забыли?

вход по аккаунту

?

Основы веб-разработки. Лекция 1

код для вставкиСкачать
Лекция 1
Основы
web-технологий
Стыценко Илья, Исаев Денис
О чём курс?
Зачем это нам?
2
Структура курса
8 лекций, 7 семинаров
15-17 баллов за семинар
0-49 — неуд
50-69 — удовл
70-89 — хор
90-100 — ОТЛИЧНО!
3
Структура курса
1.  Пишем себе ТЗ на проект
2.  Готовим окружение
3.  Верстка клиентской части
4.  Программирование бэкенда
5.  В бой
4
Функционал проекта
1.  Наличие авторизации
2.  Наличие создаваемого
пользователем контента
3.  Комментарии
4.  Пользовательские действия «в
одно нажатие» (лайк, дизлайк,
вроде того)
5.  Проверка прав
5
Структура проекта
HTML,
CSS
Frontend
•  Nginx
•  Gunicorn
Backend
•  Python
•  Django
DB
•  Mysql
6
Сетевые протоколы
•  Назначение разных протоколов
•  Инкапсуляция протоколов
•  Принципы работы DNS, IP, TCP
•  Синтаксис и возможности HTTP
•  HTTPS
7
Модель работы браузера
Браузер
HTTP
WEB
сервер
DNS
DNS
8
Сетевые протоколы
9
Инкапсуляция сетевых протоколов
10
Протоколы канального уровня
11
IP-адрес, подсети
Частные
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
12
Типы IP-адресов
• 
• 
• 
Публичные
Частные (напр. 192.168.0.0 - 192.168.255.255)
Localhost (127.0.0.1)
• 
• 
IPv4
IPv6
13
IP
14
TCP
15
TCP Handshake
16
Сокеты, порты
Клиент
socket()
connect()
write()
read()
close()
Сервер
socket()
bind()
listen()
accept()
read()
write()
close()
17
Модель работы браузера
Браузер
HTTP
WEB
сервер
DNS
DNS
18
DNS
19
DNS дерево
20
DNS схема запроса
21
DNS, обратный запрос
22
URL
hXps://track.mail.ru:80/blog/topic/11/?a=1&b=2#comment_id_67
1. 
2. 
3. 
4. 
5. 
6. 
https – протокол
track.mail.ru – хост
80 – порт
/blog/topic/11/ - путь
?a=1&b=2 – строка запроса
#comment_id_67 – якорь
23
Абсолютные и относительные URL
http://some.com/p1/p2/&a=1&b=2#aaa
•  /path/ -> http://some.com/path/
•  path/ -> http://some.com/p1/p2/path/
•  ../path/ -> http://some.com/p1/path
•  ?c=3 -> http://some.com/p1/p2/?c=3
•  #anchor -> http://some.com/p1/p2/?a=1&b=2#anchor
24
MIME
text/html
text/css
text/javascript
image/png
video/mp4
application/json
25
HTTP
26
HTTP запрос
GET /path/page.html?a=1&b=2 HTTP/1.1
Host: mydomain.com
Connection: keep-alive
Accept: text/html
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4)
Referer: http://mydomain.com/page0.html
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,ru
Cookie: j4i3clrjqqbopkn1nucg1lg0; tncu_cu=1; tncu_any=1
If-None-Match: "2b544b-4cf7-2a98c2c0”
If-Modified-Since: Tue, 20 Apr 2010 05:15:31 GMT
27
HTTP ответ
HTTP/1.1 200 Ok
Date: Wed, 23 Sep 2015 10:09:09 GMT
Content-Type: text/html; charset=UTF-8
Expires: Wed, 23 Sep 2015 10:09:09 GMT
Last-Modified: Wed, 23 Sep 2015 10:09:09 GMT
Set-Cookie: yp=; Expires=Sun, 25-Sep-2005 10:09:09 GMT;
Path=/
Set-Cookie: yp=; Expires=Sun, 25-Sep-2005 10:09:09 GMT;
Domain=.www.yandex.ru; Path=/
Content-Encoding: gzip
Content-Length: 12032
…….
28
HTTP методы
• 
GET
• 
HEAD
• 
POST
• 
PUT
29
HTTP заголовки
• 
• 
• 
• 
• 
• 
Host
Date
Referer
Content-Length
Content-Encoding
User-Agent
30
HTTP коды ответа
• 
1xx - информационные
• 
2xx - успешное выполнение
• 
3xx - перенаправления
• 
4xx - ошибка на стороне клиента
• 
5xx - ошибка на стороне сервера
31
HTTP согласование содержимого
Accept,Accept-Charset,Accept-Encoding,Accept-Languages,User-Agent
Сервер
Клиент
Vary
32
HTTP управление соединением
•  Connection: close
•  Connection: keep-alive
33
HTTP кеширование, условный GET
Expires: Mon, 18 Oct 2010 14:15:00 GMT
Last-Modified
If-Modified-Since
ETag
If-None-Match
304 Not Modified
34
HTTP Cookie
Cookie:
Сервер
Клиент
Set-Cookie:
35
HTTP перенаправления
Клиент
Сервер
GET/HTTP/1.1
302Found
Locamon:/page1/
GET/page1/HTTP/1.1
36
HTTP Range
Клиент
Сервер
Accept-ranges:bytes
Range:bytes=500-999
204Parmalcontent
37
HTTP Множественное содержимое
Content-Type: multipart/form-data; boundary=Asrf456BGe4h
Content-Length: (суммарный объём, включая дочерние
заголовки)
--Asrf456BGe4h
Content-Disposition: form-data; name="DestAddress"
(пустая строка)
brutal-vasya@example.com
--Asrf456BGe4h
Content-Disposition: form-data; name="AttachedFile2";
filename="horror-photo-2.jpg"
Content-Type: image/jpeg
(пустая строка)
(двоичное содержимое фотографии)
38
HTTPS, SSL, TLS
39
HTTPS сертификаты
40
Автор
tekhnostrim
Документ
Категория
Презентации
Просмотров
2 479
Размер файла
2 216 Кб
Теги
лекция
1/--страниц
Пожаловаться на содержимое документа