Вопросы на экзамен по курсу «Web и DHTML» (осень 2015/2016)

Теория

  1. Разметка HTML.
    Понятие "разметка". DTD. Теги, атрибуты. Entities. Валидация.
  2. Заголовок HTML.
    Структура HEAD (TITLE, BASE, STYLE, SCRIPT). Использование META, LINK.
  3. Гипертекст в HTML.
    Ссылки и якоря (A href/name, IMG usemap). Вставка изображений, объектов (напр. Flash)
  4. Экранная разметка в HTML.
    Тело документа. Фреймы. Таблицы. DIV/SPAN.
  5. Запрос данных у пользователя.
    FORM и параметры. Описание элементов INPUT. Формат передачи данных на сервер.
  6. Листы стилей CSS.
    Подключение, синтаксис. Директивы, выборки, каскадность. !important.
  7. Управление отображением в CSS.
    Ограничивающий прямоугольник и его настройки. Позиционирование, видимость, выравнивание.
  8. Управление внешним видом элементов в CSS.
    Управление цветом. Настройки текста (шрифт/bold/italics и пр), подключение внешних шрифтов.
  9. Объектная модель документа.
    DOM 1,2. Интерфейсы Document, Node, NodeList. Интерфейс HTMLDocument (доп. свойства).
  10. Обработка событий.
    Жизненный цикл события. Добавление/удаление обработчика. Перехват событий.
  11. Объектная модель браузера.
    Объект window (и дочерние location, navigator, history), основные свойства и методы.
  12. Сценарии на стороне сервера.
    Различия в реализации сценариев на примере CGI/FastCGI, PHP/ASP. Оформление PHP/ASP-страниц, получение и установка данных в пакете HTTP.
  13. Запросы без перезагрузки веб-страницы.
    Возможные приёмы реализации (iframe, get/post). Создание объекта XMLHTTPRequest, жизненный цикл обмена данными с сервером.
  14. Использование AJAX.
    Запрос к серверу. Ограничения безопасности. Отмена кеширования. Сохранение истории, возможность добавления в Favorites.
  15. Проблемы безопасности.
    XSS (Cross-site scripting), XSRF (Cross-server Request Forgery), SQL Injection.


Практика

  1. Сложная табличная верстка (задание будет в билете).
  2. Сложная div'ная верстка (задание будет в билете).
  3. Обеспечение прижатия "футера" к низу экрана браузера средствами CSS.
  4. Обеспечение прижатия "футера" к низу текста страницы средствами CSS.
  5. Сценарий добавления на страницу прямоугольника случайного цвета в точке клика мышкой (в IE/FF/Opera/Chrome).
  6. Сценарий открытия отдельного окна со справкой при нажатии F1 (в IE/FF/Opera/Chrome).
  7. Проверка ввода данных пользователем (напр. телефонного номера с кодом города).
  8. Сохранение настроек пользователя (напр. имени) в cookie на стороне клиента и на стороне сервера.
  9. Отображение и регулярное обновление на странице времени сервера без перезагрузки страницы.