Что такое ответ сервера? онлайн урок.


Здесь мы подробней ответим на вопрос - что такое ответ сервера?

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

А теперь давайте рассмотрим то, каким образом наши веб-ресурсы отображаются в браузере. Предположим, статус ответа это 200 ОК. Это означает, что все прошло успешно и мы получим наш веб-ресурс. Для начала давайте определим, какие могут быть заголовки. Самые распространенные среди них это:

Server – имя веб-сервера
Last-Modified – дата последней модификации запрашиваемого ресурса
Content-Length – длина ответа в байтах
Content-Type – MIME тип запрашиваемого ресурса
Date – Дата и время, соответствующие текущему ответу

Давайте разберем тип содержимого Content-Type. К примеру он может быть выраженный как:

Content-Type: text/html


Это значит, что ответ сервера является чем-то на подобие удобочитаемого текстового файла, и его нужно рассматривать в качестве HTML документа. По факту это как раз то, что нам нужно – веб-документ.
Другой пример типа содержимого может также иметь последующую форму:

Content-Type: image/jpeg


Это означает, что ответом является любая картинка формата JPEG. В данном случае мы увидим только изображение в нашем браузере. Далее мы изучим тело ответа. Оно состоит из запрашиваемого веб-ресурса. В случае с HTML документом – это будет исходный HTML код страницы. Часть тела может быть сконструирована вместе с PHP интерпретатором . Как уже было раннее сказано, сервер не может формировать часть тела, в котором есть PHP код в случае, если ПХП интерпретатор установлен на сервере. PHP сам по себе сформирует тело ответа по надобности.
Но какая связь между типом содержимого и телом ответа? Прямая. Если указана необходимость получения HTML документа, тело должно включать в себя исходный HTML код веб-страницы. Следовательно, если это изображение, тело ответа должно иметь специальный исходный JPEG код.
Что произойдет, если сервер попытается отправить заголовки с текстом светлого шрифта, и тело с JPEG изображением? Произойдет то же самое, как если бы мы пытались открыть изображение в настольном текстовом редакторе. Появилось бы много странных символов. Это ошибка.

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