О насБлогКонтакты
Технологии15 июня 2002 г. 5 мин 136Обновлено: 22 июня 2026 г.

Казнет в 2002: первые корпоративные сайты Казахстана - IE5, Netscape и dial-up реалии

AunimedaAunimeda
📋 Содержание

Казнет в 2002: первые корпоративные сайты Казахстана

2002 год. Алматы. Интернет-аудитория Казахстана - около 200 тысяч человек, преимущественно Алматы и Астана (тогда ещё Астана, не Нур-Султан). Соединение - dial-up через телефонную линию, ISDN в крупных офисах. Тарифы: по времени подключения или по трафику.

В этих условиях корпоративный веб-сайт был уже реальностью, но создание каждого требовало решения проблем, о которых сегодня никто не помнит.


Что такое «нормальный корпоративный сайт» в 2002 году

Банк, страховая компания, строительная фирма. Типичный набор страниц:

  • Главная с кратким описанием компании
  • О компании / история
  • Услуги (иногда отдельные страницы на каждую)
  • Контакты с картой (картой в виде GIF-изображения, не Google Maps - его ещё нет)
  • Новости (если есть, с ручным обновлением через FTP)

Объём работы: 2-4 недели. Команда: один разработчик + дизайнер. Или один человек, умеющий всё.


Технический стандарт 2002 года

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<!-- windows-1251 - стандарт Казнета. 
     Попытка открыть в KOI8-R: нечитаемые символы. 
     UTF-8 станет стандартом только после 2007-2008 -->
<meta name="keywords" content="Алматы, компания, услуги, Казахстан">
<meta name="description" content="ТОО Компания - профессиональные услуги в Алматы">
<title>ТОО "Компания" - официальный сайт</title>
</head>

<body bgcolor="#FFFFFF" text="#333333" link="#003399" vlink="#660099"
      leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<!-- Цвета ссылок как атрибуты body - CSS не использовали или не доверяли -->

<!-- Обёртка: таблица по центру, ширина 780px -->
<!-- Почему 780? Стандартный монитор - 800×600, за вычетом полосы прокрутки -->
<table width="780" border="0" cellpadding="0" cellspacing="0" align="center">

  <!-- Шапка -->
  <tr>
    <td colspan="3" height="80">
      <!-- Логотип: GIF с прозрачным фоном, не более 8KB -->
      <img src="images/logo.gif" width="220" height="70" alt="Логотип компании" border="0">
    </td>
  </tr>
  
  <!-- Навигация: цветная полоска -->
  <tr bgcolor="#003399">
    <td colspan="3" height="30">
      <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td width="20">&nbsp;</td>
          <td>
            <a href="index.html" style="color:#FFFFFF; text-decoration:none; font-family:Arial; font-size:13px">Главная</a>&nbsp;&nbsp;
            <a href="about.html" style="color:#FFFFFF; text-decoration:none; font-family:Arial; font-size:13px">О компании</a>&nbsp;&nbsp;
            <a href="services.html" style="color:#FFFFFF; text-decoration:none; font-family:Arial; font-size:13px">Услуги</a>&nbsp;&nbsp;
            <a href="contacts.html" style="color:#FFFFFF; text-decoration:none; font-family:Arial; font-size:13px">Контакты</a>
          </td>
        </tr>
      </table>
    </td>
  </tr>
  
  <!-- Основной контент: три колонки -->
  <tr valign="top">
    <td width="160" bgcolor="#F5F5F5"><!-- Левое меню --></td>
    <td width="10" bgcolor="#CCCCCC">
      <!-- Разделитель: пустая ячейка с цветом, spacer.gif -->
      <img src="images/spacer.gif" width="1" height="1">
    </td>
    <td width="610"><!-- Основной контент --></td>
  </tr>

</table>
</body>
</html>

PHP 4 для динамических страниц

Статических HTML-страниц хватало для визиток. Для сайтов с новостями или каталогами - PHP 4.x.

<?php
// Типичный PHP 4 код для страницы новостей, 2002 год
// Подключение к БД
$conn = mysql_connect("localhost", "dbuser", "dbpassword") 
        or die("Ошибка подключения");
mysql_query("SET NAMES 'cp1251'"); // windows-1251 = cp1251 в MySQL
mysql_select_db("company_site", $conn);

// Параметр из URL: уязвимость SQL-инъекции - норма 2002 года
$news_id = $_GET['id'];
$query   = "SELECT * FROM news WHERE id=$news_id AND published=1";
$result  = mysql_query($query, $conn);

if (mysql_num_rows($result) == 0) {
    header("Location: news.html");
    exit;
}
$row = mysql_fetch_assoc($result);

// HTML вперемешку с PHP
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?= $row['title'] ?> - ТОО Компания</title>
</head>
<body>
<h2><font face="Arial" size="4"><?= $row['title'] ?></font></h2>
<p><font face="Arial" size="2" color="#666666"><?= date("d.m.Y", strtotime($row['date'])) ?></font></p>
<p><font face="Arial" size="2"><?= nl2br($row['body']) ?></font></p>
</body>
</html>

mysql_* функции, SQL-инъекции, кодировка через SET NAMES, font теги - всё это было стандартом, не отклонением.


Оптимизация под dial-up

Скорость загрузки - главный UX-критерий 2002 года. На 28.8 кбит/с 1 секунда = 3.6 КБ данных. Страница в 36 КБ - 10 секунд загрузки.

Правила, которым следовали:

Изображения: GIF для логотипов и кнопок (чёткость на малых размерах), JPEG для фотографий с качеством 60-70% (не 100%). Каждое изображение: не более 10-15 КБ.

# Оптимизация GIF в Photoshop 5.5 (Web and Devices):
# - Уменьшить палитру до 32-64 цветов вместо 256
# - Включить Interlaced для прогрессивной загрузки
# - Исключить дизеринг где возможно

# Типичный логотип: 200×60 пикселей, 32 цвета GIF = 4-6 КБ
# То же самое как PNG-8 = 5-8 КБ (PNG хуже для небольших размеров в 2002)

HTML минимализация: никаких комментариев в коде продакшн-версии, пробелы убраны.

Кэш через заголовки:

// Статические страницы: разрешить кэширование на 24 часа
header("Cache-Control: public, max-age=86400");
header("Expires: " . gmdate("D, d M Y H:i:s", time() + 86400) . " GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s", filemtime(__FILE__)) . " GMT");

Домены и хостинг в Казахстане 2002

.kz домен: регистрация через КАЗNIC, 2-3 недели ожидания, $100-150/год.

Хостинг: местные провайдеры - NURSAT, Kazakhtelecom (ныне Казахтелеком), некоторые алматинские компании. Виртуальный хостинг: $5-20/месяц. Выделенный сервер - редкость и дорого.

Альтернатива: российские хостинги (masterhost.ru, agava.ru) - дешевле, но ping выше. Для большинства корпоративных сайтов с казахстанской аудиторией это было приемлемо.


Что осталось от той эпохи

Сами сайты давно переделаны или исчезли. Остались принципы, которые стали базовыми не потому что были модными, а потому что работали в реальных ограничениях:

Оптимизация под реальный канал пользователя. В 2002 это был dial-up. В 2025 это может быть нестабильный 4G в регионах. Подход одинаков: измеряй загрузку на реальной сети, а не на офисном Wi-Fi.

Явная кодировка на каждом уровне. В 2002 windows-1251 vs KOI8-R ломала сайты. В 2025 неправильный charset в HTTP-заголовке или базе данных ломает казахский и кыргызский текст. Механизм тот же.

Тест на целевом браузере. В 2002 это IE5 + Netscape 4. В 2025 это Safari на iOS + Chrome на старом Android. Браузеры изменились, необходимость тестирования - нет.

Читайте также

DHTML-меню в казнете 2001 года: выпадающая навигация без перезагрузкиaunimeda
Технологии

DHTML-меню в казнете 2001 года: выпадающая навигация без перезагрузки

В 2001 году выпадающее DHTML-меню было признаком профессионального сайта. Казахстанские веб-студии Алматы осваивали JavaScript + CSS для создания навигации без Flash и без перезагрузки страницы. Полный код, решение проблемы z-index в IE5, и почему 300 мс - магическое число.

Classic ASP и первые системы авторизации в казнете (2000)aunimeda
Технологии

Classic ASP и первые системы авторизации в казнете (2000)

В 2000 году корпоративные сайты Казахстана переходили от статического HTML к динамическим приложениям. Компании, работавшие с Windows-серверами, выбирали ASP. Первая задача - система входа с сессиями и SQL Server. Полный код и реалии разработки в Алматы 2000 года.

Java-апплеты в казнете 1999 года: когда интерактивность стоила минут загрузкиaunimeda
Технологии

Java-апплеты в казнете 1999 года: когда интерактивность стоила минут загрузки

В 1999 году Java-апплеты были самым продвинутым способом сделать сайт интерактивным. На dial-up 33 кбит/с ждать загрузки JVM 30-60 секунд - обычное дело. Мы это делали. Вот код и честный разбор: что работало, что нет, и почему Flash всё равно выиграл.

Нужна IT-разработка для вашего бизнеса?

Разрабатываем сайты, мобильные приложения и AI-решения для бизнеса в Казахстане. Бесплатная консультация.

Получить консультацию Все статьи