JSPR-24 HTTP и современный Web
JSPR-24 HTTP и современный Web
Григорий
Вахмистров
Григорий Вахмистров
Backend Developer в Tennisi.bet
2
План занятия
1. Введение
2. Web & HTTP
3. Веб-технологии
4. Гиперссылки и формы
5. Frontend
6. Итоги
7. Домашнее задание
3
Введение
4
Введение
5
Введение
6
Замечание о стиле кодирования
7
Web & HTTP
8
Клиент-серверная модель
клиент сервер
на компьютере / смартфоне на сервере* в дата-центре
пользователя
9
HTTP
запрос
сеть Интернет
ответ
10
Web
Ключевые вещи:
Поэтому:
12
Протокол
Протокол – это “правила общения” двух сторон.
● проверка документов;
● контроль безопасности;
13
Протокол
14
OSI vs TCP/IP
Про TCP/IP вы
HTTP уже знаете, нас
интересует HTTP.
TCP
IP
16
RFC
The Hypertext Transfer Protocol (HTTP) is an application-level
protocol for distributed, collaborative, hypermedia information
systems. It is a generic, stateless, protocol which can be used for
many tasks beyond its use for hypertext.
17
HTTP - место в стеке протоколов
18
HTTP
На сегодняшний день есть две версии протокола:
19
HTTP
В рамках протокола определяется понятие «сообщения» (message) -
единица передачи информации.
20
\r\n
\r\n
21
\r\n
22
demo + debugger
бесконечный
цикл
обработки
запросов
● Статус-коды ответов:
— 1xx — информационные;
— 2xx — успешно;
— 3xx — перенаправление;
— 4xx — ошибки клиента;
— 5xx — ошибки сервера.
24
Код обработки подключения
(внутри while)
25
HTTP
Так устроены почти все сервера - бесконечный цикл, в котором
обслуживаются запросы клиентов.
● на выходе:
○ status line
○ headers
○ body
26
интерпретируется
как HTML
документ
заголовки запроса
заголовки запроса
27
Developer Tools
Developer Tools - это инструмент, который встроен в Chrome, позволяющий
в том числе просматривать отправляемые запросы.
28
именно благодаря этому
интерпретируется
как изображение
29
HTTP
Меняем Content-Type:
30
не интерпретируется
как HTML документ
31
почему?
интерпретируется
как изображение
32
Content-Type
33
Веб-технологии
34
Веб-технологии
В рамках курса нас будут интересовать три ключевых веб-технологии:
35
HTML
HTML (HyperText Markup Language) - предоставляет для создания
документов, состоящих из структурированных элементов.
36
DOM
37
Синтаксис HTML-элементов
Перечень элементов определяется спецификацией HTML, 4-ый раздел:
39
Категории элементов
2. Гиперссылки и формы
40
demo + debugger
Ресурсы (см. /resources.html)
время
41
Ресурсы
42
Гиперссылки и Формы
43
demo + debugger
Гиперссылки
<a href="путь">Текст</a>
44
Формы
<form>
внутри элементы ввода:
● input (21 тип)
● select
● textarea
</form>
45
demo + debugger
Формы
46
Общая схема
Соберём всё в одну картинку:
47
Классические веб-приложения
48
demo
Классические веб-приложения
49
Важно
То, что мы сейчас вам рассказали, используется повсеместно и не зависит
от языка.
50
Классические веб-приложения
51
Frontend
52
JS
53
JS
В чём суть:
54
Web API
55
JS
запрос API
json
json
ответ
Пользователь
Frontend App Backend App
56
Общая схема
57
Sandbox
58
Sandbox
59
Итоги
60
Итоги
61
Домашнее задание
62
Задавайте вопросы и
пишите отзыв о лекции!
Григорий Вахмистров