1. Структура протокола HTTP.
2. Перечислите операторы включения и опишите отличия между ними. Приведите возможные виды ошибок, возникающих при использовании данных операторов.
3. Перечислите и опишите функции для работы с сессиями. Приведите примеры регистрации и получения значения переменных сессии.
1. Структура протокола HTTP.
HTTP (HyperText Transfer Protocol – протокол передачи гипертекста) – символьно-ориентированный клиент-серверный протокол прикладного уровня без сохранения состояния, используемый сервисом World Wide Web.
Основным объектом манипуляции в HTTP является ресурс, на который указывает URI (Uniform Resource Identifier – уникальный идентификатор ресурса) в запросе клиента. Основными ресурсами являются хранящиеся на сервере файлы, но ими могут быть и другие логические (напр. каталог на сервере) или абстрактные объекты (напр. ISBN). Протокол HTTP позволяет указать способ представления (кодирования) одного и того же ресурса по различным параметрам: mime-типу, языку и т. д. Благодаря этой возможности клиент и веб-сервер могут обмениваться двоичными данными, хотя данный протокол является текстовым.
1.1 Структура HTTP-запроса
Структура протокола определяет, что каждое HTTP-сообщение состоит из трёх частей, которые передаются в следующем порядке:
1. Стартовая строка (англ. Starting line) – определяет тип сообщения;
2. Перечислите операторы включения и опишите отличия между ними. Приведите возможные виды ошибок, возникающих при использовании данных операторов.
2.1 Оператор include
В каждый PHP-документ можно включить файл с помощью инструкции include(). Её аргумент: путь к файлу. Этой инструкцией удобно пользоваться при наличии одинаковых кусков кода во многих PHP-программах. Содержимое включаемого файла обрабатывается как простой HTML-текст. Для того, чтобы содержимое этого файла обрабатывалось как PHP-программа, нужно обрамлять его открывающим и закрывающим тегами PHP.
Оператор include позволяет включать код, содержащийся в указанном файле, и выполнять его столько раз, сколько программа встречает этот оператор. Включение может производиться любым из перечисленных способов:
include 'имя_файла';
include $file_name;
include ("имя_файла");
Если файл включен с помощью include , то содержащийся в нем код наследует область видимости переменных строки, где появился include . Любые переменные вызванного файла будут доступны в вызывающем файле с этой строки и далее. Соответственно, если include появляется внутри
3. Перечислите и опишите функции для работы с сессиями. Приведите примеры регистрации и получения значения переменных сессии.
3.1 Функции для работы с сессиями:
session_abort – отменяет изменения сделанные в текущей сессии и завершает ее; session_abort() завершает сессию без сохранения данных. Таким образом исходные значения сессии сохраняются. Не возвращает значения после выполнения.
void session_abort ( void )
session_cache_expire – возвращает окончание действия текущего кэша.
int session_cache_expire ([ string $new_cache_expire ] )
session_cache_limiter – получить и/или установить текущий режим кэширования.
string session_cache_limiter ([ string $cache_limiter ] )
session_cache_limiter() возвращает имя текущего режима кэширования.
Режим кэширования определяет, какие HTTP заголовки управления кешем посылать клиенту. Эти заголовки определяют, какими правилами кеширования контента должны руководствоваться клиент и промежуточные прокси. Установка ограничителя в значение nocache запрещает любое