Article

PHP Запросы, основы.

Итак, возник интерес, а что же конкретно и как отрабатывает, с момента, когда пользователь отправляет запрос, и до обратного ответа.


1) Стандартные нестандартные схемы, как же это всё работает, глазами PHP

Будем идти от простого к сложному:

1.1 Как всё работает, когда мы хотим получить страничку

  • Клиент ==> Сервер
  • Клиент ==> Сервер ==> PHP итнерпретатор
  • Клиент ==> Сервер ==> SAPI ==>PHP engine

Первые 2 концепции понятны, но что такое SAPI и зачем оно?

SAPI - Server API - инструмент, который определяет, как именно сервер будет работать с интерпретатором PHP.
Более простой пример: нам нужно почистить картошку(клиент), и есть подрядчик(сервер). Подрядчик каким то образом делает то, что нужно клиенту, при этом клиенту всё равно, что там, и как устроено. В сервера в свою очередь должен быть вариант, как выполнить то, что пришло с клиента. Так то он ничего не знает о интерпретаторе, как и интерпретатор о сервере, это 2 независимые программы, которые нам предстоит подружить. И связываем мы их с помощью SAPI - интерфейса(набора правил), который диктует, как именно должен сервер взаимодействовать и интерпретатором, как они будут обмениватся данными и т.д.

Тоесть, со стороны сервера приходит HTTP запрос. Он должен его обработать, и вернуть результат в том же протоколе.
Сервер - конечтный исполнитель, которому нужно передать данные, он их обработает, и вернёт результат, который сервер спакует обратно.

SAPI - набор инструкций о том,

  • как именно происходит передача данных на интерпретатор
  • как интерпретатор должен работать с данными(алгоритм работы)
  • как интерпретатор вернёт данные к серверу, и что с ним случится после ответа

В PHP популярными SAPI являются

  1. CGI
  2. Fast-CGI
  3. FPM
  4. Mod_apache

На этом заканчиваем пока что с SAPI , в дальнейшем запилю пост, и сюда отведу ссылку.


2) Какие же есть сервера?

При передаче, можно сказать, что сервера можно поделить на:

1.1 Web server ==> комплекс из железа + ПО(прим: сервера для протоколов, мелкие программы), которое на нём стоит. По сути - это машина, которая и крутит наш сайт
1.2 HTTP сервер ==> конкретная программа, которая настроена на работу только с протоколом HTTP


2.1 Исходный ==> Сервер-исполнитель
2.2 Прокси сервер ==> Сервер, который является посредником между браузером, и например другим сервером


В любом случае, конечтная цель - приём/отдача запроса/ответа через определённый протокол.
Протокол - соглашения(набор правил), которые описывают правила взаимодействия между 2 системами(в нашем случае браузер -сервер).
Протокол HTTP - набор правил, которые регламентируют правила ваимодействия и передачи гипертекста.
HTTP имеет ряд своих особенностей согласно спецификации

  • 1
  • 2
  • 3

Часть 2 HTTP запрос/ответ, + как это работает из под браузера + впаять стандарт + посмотреть, какие заголовки есть, и перечитать статью на заметках на полях







Third-party source 2
Dropdown
test 123