• Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;


Иллюстрированный самоучитель по Architecture .NET

История технологий, работающих с динамическим содержимым Web

Создавать Web-приложения и Web-службы можно несколькими способами. Один из них – это использовать технологию ASP.NET. Такой подход поддерживается в разной степени большинством языков платформы NET. Есть и другой подход, поддерживаемый только языком Visual C++. Он состоит в применении сервера ATL Server [ATL Server реализован с помощью неуправляемого C++ и поэтому не относится к основной предметной области NET. Впрочем, для некоторых программистов, работающих на Visual C++ ATL является достаточно важной темой]. Остальные, традиционные подходы заключаются в использовании общего шлюзового интерфейса CGI (Common Gateway Interface), и интерфейса прикладного программирования Internet-сервера ISAPI. Преимуществом технологии ASP NET являются простота и легкость в использовании. Кроме того, поддержка этой технологии несколькими языками означает, что она доступна большему числу программистов и на большем количестве уровней квалификации. Что же касается технологии ATL Server, то ее преимущество состоит в более высокой производительности, чем у ASP.NET.

Конечно, работать с ATL Server намного легче, чем с традиционной технологией Web-разработки, реализуемой на основе C++ и называемой интерфейсом прикладного программирования Internet-сервера ISAPI (Internet Services API – API Internet-служб, т е интерфейс прикладного программирования Internet-служб). Однако от программиста технология ATL Server требует больше опыта, чем ASP NET Обычно использование ATL Server не исключает применения ASP NET и наоборот. Часто бывает так, что их возможности приходится комбинировать. И поскольку с библиотекой шаблонных классов ATL работать труднее, то в большинстве ваших Web-проектов, возможно, придется использовать ASP.NET. А где найти применение библиотеке шаблонных классов ATL? Она может пригодиться в тех нескольких областях, где по-настоящему требуется максимальная производительность.


До сегодняшнего дня было немало методик работы с динамическим содержимым Web. Самой старой из них, которая поддерживается большинством HTTP-серверов, является общий шлюзовой интерфейс (CGI). С помощью переменных среды, CGI-программа принимает данные заголовка HTTP-запроса, отправляемые с Web-браузера. Кроме того, такая программа, пользуясь перенаправленным стандартным входным потоком, принимает данные запроса через Web-сервер, а затем генерирует динамический HTML для передачи клиенту через тот же Web-сервер, используя перенаправленный стандартный выходной поток. Конечно, применение переменных среды, стандартных входного и выходного потоков является способом не слишком эффективным, зато работающим одинаково на большинстве Web-серверов, размещенных как в Unix, так и в Windows.

К сожалению, для каждого клиентского запроса общий шлюзовой интерфейс (CGI) создает новый процесс, а это слишком дорого обходится с точки зрения производительности и использования ресурсов. Так что эффективно обработать большое количество клиентских запросов с помощью общего шлюзового интерфейса (CGI) не удается. К тому же, Web-сервер и CGI-процесс находятся в разных адресных пространствах. Поэтому общий шлюзовой интерфейс (CGI) страдает еще и от накладных расходов, вызываемых большим количеством взаимодействий между процессами.

Что касается интерфейса прикладного программирования Internet-сервера ISAPI, который представляет собой технологию на основе информационного сервера Internet (Internet Information Server, IIS), то он решает проблемы с производительностью и масштабированием, выполняя вместо CGI-процесса встроенную в процесс динамически подсоединяемую библиотеку (DLL) интерфейса прикладного программирования Internet-сервера (ISAPI), По требованию эта библиотека загружается в адресное пространство информационного сервера Internet (IIS) и совместно используется многими W/eb-клиентами.

Интерфейс прикладного программирования Internet-сервера (ISAPI) содержит интерфейсы прикладного программирования (API), которые необходимы для доступа к клиентским запросам, и, в частности, ко входным параметрам и HTTP-заголовкам. Для чтения данных, находящихся в запросах, интерфейс прикладного программирования Internet-сервера (ISAPI) организует входной поток, а для отправки клиенту, в ответ на его запрос, динамически созданного HTML-кода – выходной поток. Такой подход намного эффективнее, чем использование общего шлюзового интерфейса CGI, потому что новый процесс не создается, и, следовательно, взаимодействие процессов на сервере не требуется. В среде Visual C++ 6.0 имеется ISAPI Extension Wizard (Мастер создания расширений интерфейса прикладного программирования Internet-сервера), предназначенный для создания на основе MFC расширений интерфейса прикладного программирования Internet-сервера.

Кроме того, там имеются проекты фильтров для интерфейса прикладного программирования Internet-сервера (ISAPI). Для работы с интерфейсом прикладного программирования Internet-сервера (ISAPI) в библиотеке MFC предусмотрен CHttpServer, исполняющий роль оболочки в интерфейсе прикладного программирования Internet-служб, а также макрос для создания карты сообщений и макросы для различных преобразований в ходе грамматического разбора.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.