Блог

Web server delphi

Первая строка является ключевой. В ней мы должны указать метод команду и его параметры, определяющие наши дальнейшие действия. В данном примере использован метод GET применяется для запроса документаа в качестве URI обратный слеш, который говорит о том, что нас интересует индексная страница. После имени запрашиваемого ресурса, указана версия протокола, по правилам которой будет происходить обмен данными.

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

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

Примерный ответ выглядит так:. Apache Content-Length: Формат ответа от сервера идентичен формату запроса клиента. Главное отличие в используемых директивах. Как видно из примера, в качестве стартовой строки указывается лишь версия протокола и код состояния. В приведенном примере записан код Далее идут заголовки.

Подробней мы их рассмотрим на практике. С введением в основы HTTP покончено и этих знаний тебе вполне хватит для дальнейшего понимания сегодняшнего урока.

WEB-сервер на Delphi | VR-online - бесплатный электронный журнал для всех

Теперь самое время определится с набором необходимого инструментария, которым сегодня нам предстоит воспользоваться. Эта билиотека содержит множество функций на любой случай жизни. Про функции входящие в эту библиотеку я уже не раз рассказывал, поэтому сегодня я особо останавливаться на них не. Всю дополнительную информацию, ты можешь найти в предыдущих выпусках нашего журнала. Запускай Delphi и создавай новый проект. Для сегодняшнего примера нам не потребуется форма, поэтому сразу ее удали: Во избежание курьезных ситуаций, вроде внезапного отключение света, потрать пару секунд и сохрани проект.

Рисунок 1 Никаких форм, только код и еще раз код. По умолчанию, все WEB-сервера для своей работы используют 80 порт, но к сожалению, этот порт может быть занят другим приложением, поэтому в своей программе это нужно учесть и предоставлять возможность выбирать произвольный порт.

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

Создание Web-приложений в среде Delphi

С константами разобрались, двигаемся. Если ты читаешь наш журнал постоянно, то уже должен знать, что перед тем как начинать использовать WinSock API, нужно проинициализировать сетевую библиотеку с помощью функции WSAStartup. Ей нужно передать всего лишь два параметра:. Пример вызова этой функции я приводить не стану, так как ты уже должен знать, как это делается. На крайний случай у тебя под рукой архив журнала, а в нем лежит полный исходник.

Проинициализировав сетевую библиотеку, у нас появляется возможность, использовать абсолютно любые WinSock API функции, а значит, мы можем открыть порт и запустить цикл ожидания новых клиентов. Если ты вдруг решишь написать WEB-сервер с графическим интерфейсом, то тебе обязательно придется выполнять прослушивание в отдельном потоке, иначе твое приложение заснет непробудным сном.

Resume ; end. Начинай его переписывать и краем глаза заглядывай в мои комментарии. В самом начале листинга, я создаю новый сокет, который будет использоваться для прослушивания. Для его создания, я использую функцию socket. Обмен по протоколу HTTP производится в. Классы кодов ответа HTTP. Как говорилось ранее, код ответа представляет собой трехзначное число. Коды сгруппированы в пять категорий, категория определяется первой цифрой.

Данная статья не преследует цель описать подробность протокола HTTP, но для понимания принципов работы примера рассмотрим несколько основных методов:. Метод GET является самым часто используемым и предназначен для получения информации от сервера.

В качестве информации может выступать файл или результаты работы какого либо процесса, например CGI.

Web-сервер на Delphi - Delphi - Киберфорум

Метод GET может дополняться условием при помощи параметра If-Modified-Since в запросе - в том случае результат передается только если ресурс имеет дату модификации, большую указанной в If-Modified-Since. Кроме запроса метод GET может применяться для передаче небольших объемов данных в виде параметров. Есть конечно и минусы: Но что поделаешь - версия Delphi под Unix отложена пока до лучших времен.

Coding A Simple HTTP Web Server Delphi (beginners) Part 2

Зато посудите сами: Но отложим пока теорию в сторону, и обратимся к практике. Итак, создание web-приложения в среде Delphi, что называется шаг за шагом.

Веб-сервер своими руками

В отличие от прочих аспектов создания приложений в Delphi, о создании приложений для web написано мало. Так ужасающе мало, что из книги в книгу, из учебника в учебник путешествует один и тот же пример.

Не будем оригинальничать и мы - чем проще, тем. Вообще, простейшее web-приложение на Delphi мало чем отличается, а точнее ничем не отличается от создания программы для старой доброй DOS. Это - простейшее консольное приложение, запускаемое на стороне сервера и взаимодействующие с пользователем в случае необходимости через броузер. Создайте в Delphi новый проект - ту самую уже давно забытую всем Console Application.

Вы получите знакомый со школьной скамьи, текст обычной паскалевской программы:. Теперь, когда приложение закончено, осталось его скомпилировать и проверить. Для проверки работоспособности программы вам понадобиться веб-сервер. Можно особо не утруждаться, подойдет любой, даже стандартный домашний веб-сервер от Microsoft. Приложение надо будет разместить в папке публикаций сервера обычно это - C: Теперь, если вы перейдете по адресу http: Вот и всё, простейшее web-приложение на Delphi готово.

На самом деле нам бы вряд ли понадобилось Delphi, для создания подобных программ. Конечно, можно генерировать страницы исходя из различных условий, но вопрос в том, как данные условия передать программе.

И здесь оказывается не всё так сложно, достаточно вспомнить передачу параметров приложению с помощью командной строки и поступить соответствующе. Функции которого будут заключаться в Delphi Web Server Всем привет, ребят подскажите пожуйсто как сделать веб сервер на делфи чтобы он распознавал команды Delphi и web-доступ к базе из linux Есть в наличии delphi xe7, windows server r2, ms sql r2.

Так же написана программа, под Получить DataSet от web-cервиса VS. Заполнение Web формы поле select Delphi Всем здравствуйте. Решил написать программку, которая открывает WEB страничку на ней есть поля Блоги программистов и сисадминов. Vkontakte. FacebookTwitter. Тесты Блоги Социальные группы Все разделы прочитаны. Просмотров Ответов Метки нет Все метки.