Прежде всего, я думаю, что ваш ответ был довольно хорошим.Это определенно описывает основной процесс, о котором вас спрашивали.
1) Что такое буквально «запрос»?Это просто текстовый заголовочный файл, который отправляется на сервер?
Да, HTTP-запрос - это текстовое сообщение на сервер, включающее, в основном: запрошенный путь, любые параметры этого пути,информация о клиенте (пользовательский агент, сеанс, файлы cookie и т. д.).
2) Как насчет "ответа"?Является ли сам ответ проанализированным файлом file.php, который отправляется обратно клиентскому компьютеру?
В некотором роде.Ответ HTTP состоит из текста заголовка, который описывает: статус ответа (успех или ошибки, такие как файл не найден, внутренняя ошибка сервера и т. Д.), Некоторые метаданные контента (тип контента, кодировка ...) и контент.Содержимое может быть HTML-документом.Это также может быть файл CSS или Javascript, изображение PNG или любые другие файлы, которые обслуживает веб-сервер.Метаданные в заголовке описывают содержимое таким образом, что браузер (или любой клиент) может выяснить, как с ним обращаться.
3) Что если файл file.php содержит ссылкув файл script.js и файл style.css?На каком этапе эти файлы возвращаются на клиентский компьютер?Они входят как отдельные заголовки или как?
Во-первых, процесс, который вы только что описали, закончится.Это означает, что запрос был отправлен, а затем был возвращен ответ.Предполагая, что ответом является HTML-документ, браузер анализирует документ и ищет внешний контент: таблицы стилей CSS, файлы Javascript, файлы изображений, встроенные Flash-файлы и тому подобное.Для каждого из этих внешних файлов браузер отправляет запрос new , используя точно такой же процесс.Например, после получения файла CSS браузер знает, как применить его к документу, который он только что проанализировал.
4) Выше в своем ответе я не слишком уверен, был ли я прав, когдасказал: «... поскольку он имеет расширение .php, он сначала использует механизм PHP для анализа любого кода PHP внутри файла».Действительно ли это причина, по которой сервер анализирует код внутри файла, или сервер сканирует ВСЕ виды файлов по умолчанию, чтобы проверить наличие любого кода PHP, который они могут содержать?
Ну, это зависит отконфигурация сервера, но в большинстве случаев да;Сервер обычно настроен на одинаковую обработку всех файлов .php
, то есть передает их анализатору PHP и ожидает его ответа.
Кстати, это отличается для разных программных технологий на стороне сервера.Хотя так работает PHP, другие технологии (например, Ruby on Rails, некоторые языки .NET) обрабатываются по-другому.
Отличный вопрос, и он полезен для вас, чтобы проявить интерес!Для получения дополнительной информации я предлагаю вам проверить HTTP в Википедии .