Если полный заголовок еще не получен, просто выполняется возврат. Главный цикл предоставит еще одну возможность выполнить чтение из этого сокета в следующий раз, когда метод select () укажет, что он готов для чтения. В ином случае выполняется интерпретация самой верхней строки, а также выборка кода и сообщения состояния протокола HTTP. Если код состояния указывает, что произошла ошибка протокола HTTP любого типа, вызывается метод error () и возвращается значение undef. В ином случае выполняется подготовка к переходу в состояние “reading body”. ()днако необходимо учитывать то, что последняя операция sysread могла выполнить чтение за пределами заголовка и захватить часть самого документа. Поскольку известно, где оканчивается заголовок, просто извлекаются данные документа с использованием функции substr () и вызывается метод write_local () для записи документа в локальный файл. Метод write_local () будет вызываться повторно при выполнении последующих этапов для записи оставшейся части документа в локальный файл. Устанавливается значение переменной состояния status, равное “reading body”, и выполняется возврат.
Различные цели организации веб представительств накладывают особые требования и на ресурсы будущего хостинга. Для малых проектов с небольшой посещаемостью вполне подойдет виртуальный хостинг, а вот для проектов требующих большей функциональности потребуется vps хостинг , vds или даже полный сервер, установленный в стойку дата центра. Каждый вид хостинга обладает своими индивидуальными особенностями, о которых можно подробнее узнать на сайте хостера.
Строки 94-100. Метод read_body (). Код метода read_body() исключительно прост. Вызывается функция sysread() для чтения данных с сервера фрагментами по 1024 байта и выполняется передача их методу write_local () для копирования данных документа в локальный файл. Если во время чтения или записи возникают какие-либо ошибки, возвращается значение undef. Значение undef возвращается и в том случае, если функция sysread () возвращает 0 байт, что указывает на получение признака конца файла EOF.