Казахстандағы алғашқы интернет 2002 жылы: корпоративтік сайттар және dial-up дәуірі
2002 жылы Қазақстандағы интернет - бүгінгі интернеттен мүлдем басқа нәрсе болды. Байланыс жылдамдығы: 28-56 кбит/с, телефон желісі арқылы. Бір мегабайт файлды жүктеу - 3-5 минут. Электрондық пошта бір парақ мәтінмен шектелетін, суреттер сирек жіберілетін.
Бірақ сол кезеңде де компаниялар веб-сайттарын ашты. Неліктен? Себебі веб-сайт бар болу өзі бір мәртебе болды.
Сол кездегі техникалық шарттар
Сервер: Алматыда жергілікті хостинг болмады. Сервер Мәскеуде немесе Германияда орналасты. Ping уақыты: 120-200 мс. Бірақ байланыс жылдамдығы 56 кбит/с болғанда, ping уақыты маңызды болған жоқ - беттің жүктелуі минутқа созылды.
Браузер: Пайдаланушылардың 60% - IE5 немесе IE5.5. 30% - Netscape Navigator 4.x. Қалғаны - Opera 5-6. CSS кестелерін (float, position) барлық браузер әртүрлі орындады.
HTML стандарты: HTML 4.01 Transitional. Strict нұсқасы бар болды, бірақ ешкім пайдаланбады - ескі атрибуттар (bgcolor, cellpadding, font теги) Transitional-да рұқсат етілген болатын.
Корпоративтік сайттың типтік коды 2002 жылы
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<!-- windows-1251 - Рунет пен Казнеттің стандарты, UTF-8 емес -->
<title>ЖШС "Компания" - Ресми сайты</title>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0">
<!-- Кесте арқылы орналасу - CSS float жұмыс істемеді -->
<table width="760" border="0" cellpadding="0" cellspacing="0" align="center">
<tr>
<!-- Логотип - GIF форматы (PNG IE5-те дұрыс жұмыс істемеді) -->
<td width="200">
<img src="logo.gif" width="190" height="60" border="0" alt="Логотип">
</td>
<td align="right" valign="middle">
<font face="Arial" size="2" color="#003399">
<b>Тел: (3272) 123-456</b>
</font>
</td>
</tr>
</table>
<!-- Навигация: тіпті CSS :hover болмады, JavaScript onmouseover пайдаландық -->
<table width="760" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#003399">
<tr>
<td width="120" align="center">
<a href="index.html"
onmouseover="this.style.backgroundColor='#0055CC'"
onmouseout="this.style.backgroundColor=''"
style="color:#FFFFFF; text-decoration:none; display:block; padding:6px">
<font face="Arial" size="2">Басты бет</font>
</a>
</td>
<td width="120" align="center">
<a href="about.html" style="color:#FFFFFF; text-decoration:none; display:block; padding:6px">
<font face="Arial" size="2">Біз туралы</font>
</a>
</td>
</tr>
</table>
</body>
</html>
font тегі, bgcolor атрибуты, JavaScript onmouseover арқылы hover - CSS :hover IE5-те тек <a> элементі үшін ғана жұмыс істеді.
PHP 4 пен MySQL 3: динамикалық беттер
Динамикалық мазмұн үшін PHP 4 және MySQL 3.23 пайдаландық. ORM болмады, framework болмады - таза SQL сұраулар:
<?php
// 2002 жылғы типтік PHP коды
$conn = mysql_connect("localhost", "user", "password");
mysql_query("SET NAMES 'koi8-r'"); // Немесе windows-1251 - кодировка маңызды болды
mysql_select_db("company_site");
// SQL инъекциясынан қорғау жоқ - ол кезде бұл туралы аз жазылды
$page_id = $_GET['id'];
$result = mysql_query("SELECT * FROM pages WHERE id=$page_id AND is_active=1");
$page = mysql_fetch_assoc($result);
if (!$page) {
header("Location: 404.html");
exit;
}
?>
<html>
<body>
<h1><?= $page['title'] ?></h1>
<?= nl2br($page['content']) ?>
</body>
</html>
Бұл кодтағы SQL инъекция осалдығы ($page_id тексерілмеген) - 2002 жылы типтік жағдай болды. mysql_real_escape_string() PHP 4.3-те пайда болды, бірақ кең қолданысқа енуі уақыт алды.
Суреттер мен жылдамдық оптимизациясы
56 кбит/с байланыста 50 КБ сурет - 7-10 секунд жүктелетін. Сондықтан:
- GIF форматы барлық жерде: логотип, батырмалар, безендіру элементтері. PNG болды, бірақ IE5 оны альфа-мөлдірлікпен дұрыс көрсетпеді.
- JPEG тек фотографиялар үшін - өнім суреттері 10-20 КБ-пен шектелді.
- Кескін мөлшерін HTML арқылы өзгерту - суретті кішірейту үшін
widthжәнеheightатрибуттары. Браузер барлық пикселдерді жүктеп, кейін масштабтады.
<!-- Логотипты кішірейту: суреттің өзі 400×120 px, бірақ 200×60 px ретінде көрсетіледі -->
<!-- Нашар тәжірибе, бірақ 2002 жылы кең таралған -->
<img src="logo_large.gif" width="200" height="60" border="0">
Бастапқы суретті дұрыс масштабтаудың орнына, HTML атрибуттарымен кішірейту - өткізу қабілетін жоғалту болды. Бірақ ол уақытта кескін оңтайландыру құралдары (Photoshop Save for Web деңгейінен) кең таралмаған болатын.
Домен және хостинг
2002 жылы .kz домені тіркеу - КАЗNIC арқылы, $100-150/жыл. .com - $35/жыл Network Solutions немесе Register.com арқылы.
Хостинг Алматыдан таңдалды: NURSAT немесе Kazakhtelecom-ның серверлері. Баламасы - Мәскеудегі агенттіктер арқылы орыс хостинг провайдерлері. Германиялық Hetzner ол кезде де жұмыс істеді - ping жоғары, бірақ арзан.
Осы дәуірден қалған сабақ
2002 жылғы Қазақстандағы интернет шектеулері - технология кемшіліктерінен емес, инфрақұрылымның дамымауынан болды. Бізге dial-up байланыс берілген болса, біз dial-up үшін оңтайландырдық. Браузерлер CSS-ті дұрыс орындамаса, кестелерді пайдаландық.
Бұл принцип бүгін де өзекті: пайдаланушының нақты жағдайында жұмыс істейтін шешім жасаңыз, ал идеалды жағдайда емес. 2002 жылы - 56 кбит/с байланыс. 2025 жылы - нашар 4G жабындысы бар аймақтар, ескі Android құрылғылары. Техника өзгерді, принцип қалды.