- Понятие URL и документа
- Виды документов: HTML, CSS, JS, JSON.
- Абсолютные и относительные URL
- Правила разрешения URL-ов
- Гиперссылки
- Клиент-серверная архитектура
- Консольные утилиты. Telnet.
- Библиотеки в ЯП. libcurl, urllib.
- Браузер.
- Фичи браузера: куки, сессии, Referer.
- Основной сценарий работы
- Классические web приложения
- One-page приложения
- основы разметки
- DOCTYPE
- Картинки, стили, скрипты и другие ресурсы
- Блочные и строчные тэги
- Таблицы и списки
- Гиперссылки и формы
- синтаксис
- селекторы
- псевдоклассы и псевдоэлементы
- приоритеты стилей и каскадирование
- основные стили
- позиционирование
- box-model
- DNS
- Домены и зоны, делегирование
- Рекурсивные запросы
- TCP
- Понятие порта
- TCP handshake
- TCP клиент и сервер
- TLS
- Назначение и ключевые особенности
- Синтаксис запроса и ответа
- Методы запросов
- HTTP заголовки
- Коды ответа
- Управление соединением
- Файлы и процессы сервера
- Внутренняя архитектура сервера
- Примеры конфигурации
- Понятие location
- Методы обработки сетевых соединений
- Задачи frontend сервера
- Reverse proxy
- Проксирование запросов
- Application сервера
- Протоколы CGI, FastCGI, WSGI
- Компоненты MVC
- Django как пример MVC фреймворка
- Структура Django проекта
- Модульность в Djnago: приложения
- Конфигурация проектов
- Маршрутизация URL
- Обратная маршрутизация URL
- Контроллеры в Djnago
- Объекты HttpRequest и HttpResponse
- Получение GET и POST параметров
- Работа с HTTP заголовками в Django
- Декораторы
- Шаблонизация в Django
- Наследование шаблонов
- Context processors
- Реляционная модель данных
- Проектирование баз данных
- Работа с СУБД в Python
- Работа с СУБД в Django
- Понятие ORM, модели Django
- Описание таблиц и связей в модели Django
- Типы полей в моделях
- Создание и изменение объектов
- Загрузка данных из базы
- QuerySet
- ModelManagers
- Расширение ModelManagers
- Миграции баз данных
- Отображение страницы объекта
- 404-страницы
- Отображение связанных сущностей
- Отображение списка объектов
- Постраничное отображение
- Progressive loading
- GET и POST формы
- Общий сценарий обработки
- Перенаправления в HTTP
- Описание форм в Django
- Типы полей в формах Django
- Валидация данных
- Использование форм в контроллерах и шаблонах
- CSRF
- Basic HTTP Authorization
- Механизм Cookie
- Установка и получение cookie в HTTP
- Авторизация с использованием cookie
- Сценарий входа: login
- Сценарий проверки сессии
- Middleware в Django
- Безопасное хранение паролей
- Безопасность сессий
- AJAX на стоне клиента
- AJAX запросы с использованием jQuery
- Передача HTML и JSON в AJAX запросах
- Особенности контроллеров для AJAX
- Cross Origin Resource Sharing
- Общая архитектура
- Polling
- Long-polling (comet)
- Server-push
- WebSocket
- Механизм обновления (Upgrade) соединений
- Очереди сообщений
- Full-text search
- Cron и Celery
- разновидности кешей
- proxy caching
- memcached
- Расширения протокола HTTP
- HTTP/2.0 и SPDY
- расставить RFC
- расставить ссылки на литературу