Понятие Веб сервера. Синтаксис языка PHP
Веб-сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.
Веб-серверы – основа Всемирной паутины.
Веб-сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и компьютер, на котором это программное обеспечение работает.
Клиенты получают доступ к веб-серверу по URL адресу нужной им веб-страницы или другого ресурса.
Дополнительными функциями многих веб-серверов являются:
- ведение журнала обращений пользователей к ресурсам;
- аутентификация пользователей;
- поддержка динамически генерируемых страниц;
- поддержка HTTPS для защищённых соединений с клиентами.
HTTPS — расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTP, «упаковываются» в криптографический протокол SSL или TLS, тем самым обеспечивается защита этих данных.
В отличие от HTTP, для HTTPS по умолчанию используется TCP порт 443 (для незащищенного HTTP — 80). Эта система была разработана компанией Netscape Communications Corporation, чтобы обеспечть аутентификацию и защищенное соединение.
HTTPS широко используется в мире Веб для приложений, в которых важна безопасность соединения, например, в платежных системах. Это обеспечивает защиту от атак, основанных на фальсификации либо прослушивании среднего уровня сетевого соединения
В настоящее время HTTPS поддерживается наиболее популярными браузерами.
Вообще https не явлется отдельным протоколом. По сути это обычный HTTP, работающий через шифрованные транспортные механизмы SSL и TLS. Это обеспечивает защиту от атак, основанных на фальсификации либо прослушивании среднего уровня сетевого соединения — т. н. man-in-the-middle (например, от снифферских атак).
Недостатком использования HTTPS является длина ключа — всего 40, 56, или 128 бит. По мнению большинства специалистов по информационной безопасности, сегодня надежной длиной ключа может быть длина, сравнимая с 1024 бит. Поэтому длина ключа даже в максимальные 128 бит HTTPS явно недостаточна. Кроме того, большинство браузеров использует длину ключа 40 бит(пример тому — IE). Это связано с экспортными ограничениями в США. И, следовательно, не следует считать, что HTTPS обеспечивает достойный уровень шифрования. Но такое шифрование значительно затрудняет злоумышленнику поиск паролей и другой личной информации.
На сегодня двумя наиболее распространёнными веб-серверами, вместе занимающими около 90 % рынка, являются:
• Apache — свободный веб-сервер, наиболее часто используется в Unix-подобных ОС.
• IIS от компании Microsoft, распространяется с ОС семейства Windows NT.
В качестве клиентов для обращения к веб-серверам могут использоваться совершенно различные устройства:
Веб-браузер — самый распространенный способ
Специальное программное обеспечение может самостоятельно обращаться к веб-серверам для получения обновлений или другой информации
Мобильный телефон может получить доступ к ресурсам веб-сервера при помощи протокола WAP
Другие интеллектуальные устройства или бытовая техника
PHP программы
Программы PHP могут выполняться двумя способами: как сценарное приложение Web-сервером и как консольные программы. Поскольку, нашей задачей является программирование web-приложений, мы преимущественно будем рассматривать первый способ.
Дело в том, что PHP, как правило, используется сугубо для программирования приложений, связанных с Интернетом. Однако, PHP можно еще использовать в качестве интерпретатора командной строки, в основном в *nix-системах. Последнее возможно при помощи CORBA и COM интерфейсов, а также при помощи расширения PHP-GTK. При таком использовании PHP возможно решение следующих задач:
- создание приложений интерактивной командной строки;
- создание кросс-платформенных GUI приложений при помощи библиотеки PHP-GTK;
- автоматизация некоторых задач под Windows и Linux
Рассмотрим процесс выполнения php-сценария при обращении браузера к серверу. Итак, вначале браузер запрашивает страницу с расширением .php, после чего web-сервер пропускает программу через машину PHP и выдаёт результат в виде html-кода. Причем, если взять стандартную страницу HTML, изменить расширение на .php и пропустить её через машину PHP, последняя просто перешлёт её пользователю без изменений. Чтобы включить в этот файл команды PHP, необходимо заключить команды PHP в специальные теги, которых различают 4 вида (они эквивалентны и можно использовать любые):
1.Инструкция обработки XML:
2.
3. …?
4.Инструкция обработки SGML:
5.
6. …?
7.Инструкция обработки сценариев HTML:
8.
9. …
10.Инструкция в стиле ASP:
11.
12….%
Мы будем придерживаться стиля XML или SGML.
Вообще говоря, внутри какого-либо блока кода можно выйти из PHP, при условии, что дальше мы войдем в него снова и закончим код (Подробнее об этом смотрите в гл.2.). Т.е., возможна следующая конструкция:
if(5
echo(
Hello, world!
);
?
Hello!
// эта строка не интерпретируется как код PHP
// и выводится только если блок кода выполняется
echo(
Hello, world!
);
}
?
Команда echo в PHP применяется для вывода фактически всего, что встречается на web-страницах (текст, разметку HTML, числа). Смысл ее действия, мы думаем, понятен из приведенного примера.
PHP — Синтаксис
Прежде чем мы поговорим о синтаксисе PHP, давайте сначала определим, что имеется ввиду под словом синтаксис.
Синтаксис — правила, которые необходимо соблюдать, чтобы писать правильно структурированный код.
Синтаксис PHP и его семантика похожи на большинство других языков программирования (C, Java, Perl). С той лишь разницей, что код PHP встраивается в html разметку страницы. Весь код PHP должны содержаться в следующих тегах:
?
Или просто:
?
Если вы не хотите проблем, то пишете по стандартной форме (т.е. ?php), а не в сокращенном виде. Это гарантирует, что ваши скрипты будут работать на серварах с разными настройками.
Как сохранять ваши PHP страницы
Если у вас есть PHP код, который включен в HTML и вы хотите, чтобы браузер интерпретировал все правильно, то вы должны сохранить файл с расширением .php, вместо стандартного .html. Так что не забудьте проверить, что вы сохраняете файлы правильно. Например, вместо index.html должно быть index.php.
Пример простой html страницы с PHP кодом
Ниже приведен пример простой странички, которая содержит в себе php код. Вы можете брать ее за основу для своих проектов:
My First PHP Page
echo Hello World!
?
Вот что мы получим в результате:
Hello World!
Если вы сохраните этот файл (например, helloworld.php) и закинете его на сервер с поддержкой PHP, а затем загрузите ее в браузере, то вы должны увидеть надпись «Hello World!». Если этого не произошло, пожалуйста, проверьте, что Вы все сделали правильно и четко следовали примеру. Или задавайте вопросы в комментариях.
Мы использовали команду echo, чтобы написать «Hello World!». Конечно, мы вернемся к этой команде чуть позже, в следующих уроках.
Точка с запятой!
Как вы можете заметить, в приведенном выше примере не было точки с запятой после строки кода PHP. Точка с запятой означает конец операции в PHP и никогда не стоит о ней забывать. Например, если бы мы повторили нашу команду вывода надписи «Hello World!» несколько раз, то мы должны поставить точку с запятой в конце каждой строки.
My First PHP Page
echo Hello World! ;
echo Hello World! ;
echo Hello World! ;
echo Hello World! ;
echo Hello World! ;
?
Результат:
Hello World! Hello World! Hello World! Hello World! Hello World!
Пробелы
Как и в HTML, пробелы между PHP выражениями игнорируются. То есть если в коде 20 пустых строк, например, для форматирования, то ничего страшного, они не будут видны в результате. Так же как и табуляция (Tab).
My First PHP Page
echo Hello World!;
echo Hello World!;
?
Результат:
Hello World!Hello World!
Итог. Мы научились встраивать php код в html страницу, сохранять с соответствующим расширением ‘.php’. Рассмотрели несколько примеров построения страницы, а том числе и с использованием команды echo.
Комментарии
PHP предоставляет несколько методов для вставки комментариев. Проще всего пользоваться двойнымслэшем в стиле языка С++ (//), после чего PHP машина игнорирует все, что расположено до конца строки. Также можно пользоваться многострочными комментариями в стиле С (/*…*/). Для однострочных комментариев можно еще пользоваться символом решетки (#) (комментарий скриптовых языков UNIX).
echo(
Hello
); // комментарий
echo(
Hello
); # комментарий
/*
и это тоже комментарии
*/
?
Следует помнить о том, что стили комментариев PHP действуют только внутри ограничителей PHP. Если PHP встретит эти символы комментариев вне ограничителей, то они, как и любой текст, будут помещены на html-страницу. Например:
echo(
Hello
); // нормальный комментарий
?
// а вот этот комментарий отобразиться браузером.
Заметим, что комментарии можно вставлять не только после конца оператора, а, например, и вот так:
$a = Hello, world;
echostrstr
($a,H);
// эту функцию мы рассмотрим позднее
?
Переменные
В РНР переменные начинаются со знака доллара ($), за которым может следовать любое количество буквенно-цифровых символов и символов подчеркивания, но первый символ не может быть цифрой. Таким образом, допустимы следующие имена переменных: $n, $n1, $user_func_5 и т. д. В отличие от ключевых слов, имена пе-ременных в PHP чувствительны к регистру, т. е. переменные $user, $User и $USER являются различными.
$user = Владимир;
$User = Дмитрий;
$USER = Юрий;
echo $user; // Владимир
echo $User; // Дмитрий
echo $USER; // Юрий
?
При объявлении переменных в РНР не требуется явно указывать тип переменной, при этом одна и та же переменная может иметь на протяжении программы разные типы.
Как видно из предыдущего листинга, для присвоения значения переменной необходимо воспользоваться оператором присвоения =, который позволяет инициализировать переменную. При объявлении числовых значений в качестве разделителя целого значения и дробной части выступает точка.
$number = 1;
$var = 3.14;
?
Статьи к прочтению:
Сохранение интернет страниц одним файлом
Похожие статьи:
-
Революция в содержании документов 5 страница
Internet, верный традициям академического сообщества, всегда полагался на саморегуляцию – через баланс давления и противодавления. Например, если…
-
Выталкивание случайной страницы (RANDOM). Если вам нужно иметь стратегию выталкивания страниц, которая характеризовалась бы малыми издержками и не…