← Назад к вопросам

Что такое WAP?

2.0 Middle🔥 124 комментариев
#Теория тестирования

Комментарии (4)

🐱
deepseek-v3.2PrepBro AI7 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Что такое WAP?

WAP (Wireless Application Protocol) — это открытый международный стандарт, разработанный в конце 1990-х годов консорциумом WAP Forum, который позже вошел в состав Open Mobile Alliance (OMA). Его основная цель — предоставить доступ к информации и услугам Интернета для пользователей мобильных устройств (сотовых телефонов, КПК, пейджеров) с учетом их ограничений: малого экрана, низкой пропускной способности каналов связи, ограниченной вычислительной мощности и объема памяти.

Проще говоря, WAP служил «мостом» между мобильным миром с его специфическими протоколами и «большим» веб—“World Wide Web”, построенным на стандартах вроде HTTP, HTML и TCP/IP, которые в то время были слишком «тяжелыми» для мобильных сетей (таких как GSM, CDMA). С технической точки зрения, WAP — это не единый протокол, а целый стек протоколов, который включает в себя:

  • Протоколы передачи данных: Адаптированные аналоги привычных веб-протоколов.
  • Язык разметки: WML (Wireless Markup Language) — упрощенный аналог HTML, ориентированный на карточную навигацию (деки и карты).
  • Скриптовый язык: WMLScript — легкий аналог JavaScript для клиентской логики.

Архитектура и ключевые компоненты

Работа WAP основана на клиент-серверной архитектуре с обязательным элементом — **WAP;

Шлюз** (WAP Gateway). Вот как выглядел типичный запрос:

graph TD
    A[Мобильное устройство<br/>WAP-браузер] -->|Запрос по<br/>протоколу WSP/WTP| B(WAP Gateway);
    B -->|Преобразование запроса<br/>в стандартный HTTP| C[Веб-сервер<br/>или WAP1/WAP2 сервер];
    C -->|Ответ в HTML<br/>или WML| B;
    B -->|Преобразование, сжатие<br/>ответа в бинарный формат| A;
  1. Клиент (WAP-full Browser): Браузер на устройстве отправляет запрос, используя WSP (Wireless Session Protocol — аналог HTTP) и WTP (Wireless Transaction Protocol — аналог TCP, обеспечивающий контроль транзакций).
  2. WAP Gateway: Это критически важный прокси-сервер, который выполняет несколько функций:
    *   **Протокольный шлюз:** Преобразует запросы WSP/WTP в стандартные HTTP.
    *   **Кодировщик/декодировщик:** Конвертирует текст WML в компактный бинарный формат (**WBXML** — Wireless Binary XML) для экономии трафика и обратно.
    *   **Компилятор:** Может компилировать WMLScript в байт-код.
  1. Сервер: Обычный веб-сервер, отдающий контент (WML-страницы), или специализированный WAP-сервер.

Роль с точки зрения QA Engineer

Для специалиста по контролю качества понимание WAP важно в историческом контексте и для тестирования legacy-систем или определенных нишевых устройств. Вот на что обращалось внимание при тестировании WAP-сервисов:

  • Кроссплатформенная совместимость и эмуляция: Тестирование на множестве реальных устройств (Nokia, Ericsson, Siemens) и с использованием эмуляторов (например, Nokia Mobile Internet Toolkit, Openwave SDK) было обязательным, так как рендеринг WML и поддержка WMLScript сильно различались.
  • Работа через шлюз: Необходимо было проверять корректность преобразования протоколов и кодирования на стороне шлюза. Падение связи или ошибки шлюза напрямую влияли на пользователя.
  • Ограничения контента и навигации:
    <!-- Пример простой WML.
    

Деки --> <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card id="main" title="Главная"> <p>Привет, мир!</p> <do type="accept" label="Далее"> <go href="#card2"/> </do> </card> <card id="card2" title="Вторая карта"> <p>Вы перешли.</p> </card> </wml> ```

    Тестировщик проверял:
    *   Максимальный размер карты (деки), ограничения по тексту.
    *   Корректность навигации по картам («декам»), работу кнопок `<do>` и ссылок `<go>`.
    *   Обработку `softkeys` (программируемых клавиш устройства).
  • Производительность и объем данных: Из-за медленных сетей (GPRS, CSD) и тарификации за трафик критически важными были:
    *   **Время загрузки** страницы.
    *   **Объем передаваемых данных** (благодаря бинарному сжатию WBXML он сокращался в разы).
    *   Устойчивость к разрывам соединения.
  • Безопасность: Проверялась работа с WTLS (Wireless Transport Layer Security — аналог TLS/SSL для беспроводных сетей), шифрование транзакций.

Эволюция и наследие WAP

WAP прошел несколько версий:

  • WAP 1.x (ок. 1999 г.): Классический стек со всеми описанными преобразованиями. Имел проблемы: закрытые шлюзы операторов, сложность разработки.
  • WAP 2.0 (2002 г.): Кардинальное обновление. Основная идея — конвергенция с интернет-стандартами. Он отказался от обязательного шлюза для базового контента и ввел поддержку:
    *   **XHTML Mobile Profile (XHTML MP)** — более современного и гибкого языка разметки.
    *   **TCP/IP** как транспортного протокола.
    *   **стандартного HTTP**.
    Это значительно упростило жизнь разработчикам и тестировщикам, приблизив мобильный веб к обычному.

Наследие WAP огромно. Он заложил фундамент для мобильного интернета, доказав его жизнеспособность. Однако с массовым распространением смартфонов с полноценными браузерами (iPhone, Android), высокоскоростных сетей (3G, 4G) и современных технологий (HTML5, CSS3, AJAX) классический WAP 1.x стал историей. Сегодня термин «WAP» иногда можно встретить в контексте очень простых мобильных сайтов или специфических услуг (например, USSD-меню, баланс у оператора), но по сути современный мобильный веб строится на стандартах, которые продвигал WAP 2.0, окончательно стерший границу между десктопным и мобильным интернетом.

Для QA Engineer знание WAP — это понимание эволюции подходов к тестированию мобильного контента в условиях жестких ограничений, что помогает глубже оценивать современные challenges, такие как адаптация под разные разрешения экранов, ограниченный трафик и производительность на слабых устройствах.