Введение
Что надо знать, приступая к чтению данной книги
Как построена эта книга
От издательства


Часть 1. Взаимодействие между узлами сети

Глава 1. Минимальные сведения о системе UNIX
Структура файловой системы
Один корневой каталог
В файловой системе UNIX отсутствуют расширения
Символьные ссылки
Регистр символов
Командная строка
Команда ls
Команда cd
Команда ср
Команда df
Команда rm
Команда find
Команда cat
Команда more
Команда ps
Команда kill
Регистрация в системе и доступ к ресурсам
Владелец файла
Права доступа
Запуск программы в текущем каталоге

Глава 2.ТСР/IР
Зачем нужен протокол
Многоуровневая сетевая модель
Преобразование битовой последовательности при передаче
по глобальной сети
Стек протоколов и взаимодействие на различных уровнях
Порт
Использование TCP-соединений в прикладных программах

Глава 3. Протокол HTTP и использующие его программы
Сеанс взаимодействия с HTTP-сервером
Запрос клиента
Строка состояния
Поля заголовка
Тело запроса
Пример запроса
Ответ сервера
Структура кода ответа
Поля заголовка
Тело ответа
Пример ответа
А нужен ли броузер
MIME
Cookie
Клиент, сервер и другие программы
Программы, выполняющиеся на клиент-машине
Программы, выполняющиеся на сервере


Часть II. Языки описания документов

Глава 4. Как создать простейшую Web-страницу: HTML
Выбор HTML-редактора
HTML-дескрипторы
Правила..., которых можно не придерживаться
Создание HTML-документа
Форматирование текста
Абзац и новая строка
Заголовки
Сохранение исходного формата текста
Маркированные и нумерованные списки
Выделение фрагментов текста
Специальные символы
Использование редактора Composer для форматирования текста
Гипертекстовые ссылки
Значение атрибута HREF
Абсолютный и относительный URL
Гипертекстовые связи в пределах одного документа
Создание гипертекстовых ссылок с помощью Composer
Корневой каталог документов
Изображения
Включение изображений с помощью Composer
Таблицы
Формы
Стили
Правила
Наследование свойств

Глава 5. Документ обретает структуру: XML
Необычное поведение дескрипторов
Структура документа
Отображение документа в окне броузера
Ограничения на использование дескрипторов
Язык XSL
Создание и проверка XML-документов
Преимущества использования XML


Часть III. Программы, выполняющиеся на клиент-машине

Глава 6. Java-аплеты
Ваш первый аплет
Включение аплета в состав Web-страницы
Выполнение аплета
События
AWT
И снова об иерархии классов
События пользовательского интерфейса
Свойство id
Свойство target
Свойство arg
Свойство modifiers
Метод action()
Управляющие элементы
Класс Button
Класс Label
Класс TextField
Класс Panel
Калькулятор
Диспетчеры компоновки
Диспетчер компоновки FlowLayout
Диспетчер компоновки BorderLayout
Диспетчер компоновки GridLayout
Диспетчер компоновки CardLayout
Игра, знакомая с детства

Глава 7. Java 2: события и компоненты
Две модели обработки событий
Делегирование событий пользовательского интерфейса
JavaBeans

Глава 8. Сетевые средства Java
TCP-соединения, гнезда и потоки
Класс InputStream
Класс OutputStream
Некоторые методы класса Socket
Простое приложение, взаимодействующее с Web-сервером
Средства работы с файлами
Код программы
Еще один способ создания гнезда
Реализация гнезда на сервере
Удаленный деловой дневник
Формат рабочего дневника
Протокол
Запрос клиента
Ответ сервера
Сервер
Клиент
Класс GregorianCalendar
Исходный текст клиент-программы

Глава 9. JavaScript - это не Java!
Структура сценария
Объекты
Переменные
Операции
Управляющие конструкции
Функции
Область видимости переменных
Иерархия объектов
Имена объектов
Java-аплет в отдельном окне
События
Аннотирование ссылок
Перенаправление
Калейдоскоп
Числа, строки и объекты
Проверка введенных данных


Часть IV. Программы, выполняющиеся на сервере

Глава 10. Изучаем классику: CGI-сценарии
Клиент и сценарий
Запуск программы
Отображение выходных данных
И снова "Hello, world"
Perl - это удобно
Передача параметров
Строка параметров
"Ловушка" для запроса
Анализ строки параметров
Получение дополнительной информации
Гостевая книга
А нужна ли форма
Счетчик посетителей
Chat-страница
Текущее состояние дискуссии
Передача параметров
Текст сценария
Обновление Web-страницы

Глава 11. ISAPI-расширения
Структура ISAPI-расширения
Вызов ISAPI-расширения
Функция GetExtensionVersion()
Функция HttpExtensionProc()
Функция WriteClient()
Функция ReadClient()
функция ServerSupportFunction()
Функция GetServerVariable()
Завершение обработки запроса
Сведения о предыдущих запросах
Создание ISAPI-расширений с помощью Visual C++
Интерактивная лотерея

Глава 12. Управление работой сервера: ISAPI-фильтры
Работа ISAPI-фильтра
Функция GetFilterVersion()
Функция HttpFilterProc()
Структура HTTP_FILTER_URL_MAP
Структура HTTP_FILTER_RAW_DATA
Завершение функции HttpFilterProc()
Запуск фильтра
Построение ISAPI-фильтров средствами Visual C++
Перенаправление запроса с помощью фильтра

Глава 13. Java приходит на сервер: сервлеты
Структура сервлета
Код сервлета
Передача параметров
Класс HttpServlet
Сеанс взаимодействия с клиентом
Класс HttpSession
Запрос с подтверждением

Глава 14. Перечень ресурсов
Java-аплеты
JavaScript
CGI-сценарии
Расширения и фильтры ISAPI
Сервлеты
Информация о Web-серверах


Приложения

Приложение А. Общие сведения о языке Java
Интерпретация и компиляция
Команды и данные
Типы данных
Операторы
Беззнаковый сдвиг
Конкатенация
Некоторые особенности логических операторов
Классы
Объявление класса
Переменные
Массивы
Методы
Простейшее Java-приложение
Интерфейсы
Пакеты
Оператор import
Переменная окружения CLASSPATH
Исключительные ситуации
Класс, о котором должен знать каждый

Приложение Б. Объекты JavaScript
Объекты, связанные с HTML-документом
Объект Window
Свойства
Методы
События
Объект Document
Свойства
Методы
События
Объект Navigator
Свойства
Методы
Объект Location
Свойства
Методы
Объект Image
Свойства
События
Объекты Link и Anchor
Свойства объекта Link
События, связанные с объектом Link
Объект Form
Свойства
Методы
События
Объект Element
Свойства
Независимые объекты
Объект Array
Конструкторы
Свойства
Методы
Объект String
Конструкторы
Свойства
Методы
Объект Date
Конструкторы
Методы

Приложение В. Общие сведения о языке Perl
Что надо знать для написания первого CGI-сценария
Переменные, потоки и работа с файлами
Предопределенные переменные
Функция ореn()
Массивы
Массивы скалярных значений
Ассоциативные массивы
Поиск, замена и регулярные выражения
Оператор поиска
Регулярные выражения
Замена
Посимвольная замена
Оператор связывания

Предметный указатель