🤔 Для чего предназначены форматы запросов и ответов приложения?
Форматы запросов и ответов в приложении предназначены для стандартизированного обмена данными между клиентом (браузером, мобильным приложением) и сервером (PHP-приложением). Они позволяют:
Обеспечить совместимость между разными системами
Облегчить обработку данных на сервере и клиенте
Структурировать данные в удобном формате
🚩Форматы запросов (Request Formats)
Когда клиент отправляет запрос на сервер, данные могут передаваться разными способами.
🟠GET – передача данных через URL
Используется для получения информации. Данные передаются в строке запроса.
GET /api/users?id=10
Пример обработки в PHP
$id = $_GET['id']; // Получаем id из URL
🟠POST – передача данных в теле запроса
Используется для отправки данных (например, формы).
POST /api/users
Content-Type: application/json
{
"name": "Иван",
"email": "ivan@example.com"
}
Пример обработки в PHP
$data = json_decode(file_get_contents("php://input"), true);
echo "Имя: " . $data['name'];
🟠PUT, PATCH, DELETE – для обновления и удаления данных
Используются в REST API для изменения или удаления данных.
🚩Форматы ответов (Response Formats)
Сервер отправляет ответ в определённом формате, который клиент сможет распознать.
🟠JSON – самый популярный формат
Используется в API и веб-приложениях.
{
"status": "success",
"message": "Данные получены"
}
Пример ответа в PHP
header("Content-Type: application/json");
echo json_encode(["status" => "success", "message" => "Данные получены"]);
🟠XML – используется в старых системах
Пример XML-ответа
success
Данные получены
🟠HTML – если сервер возвращает веб-страницу
Например, при загрузке сайта.
echo "Привет, мир!";
🟠Текстовый формат (Plain Text)
Если нужен простой текст
header("Content-Type: text/plain");
echo "Привет, это просто текст!";
🚩Как сервер определяет формат ответа?
Сервер анализирует заголовок Accept в запросе:
Accept: application/json
PHP может обработать это так:
$accept = $_SERVER['HTTP_ACCEPT'];
if (strpos($accept, "application/json") !== false) {
header("Content-Type: application/json");
echo json_encode(["message" => "Привет, JSON!"]);
} else {
echo "Привет, обычный текст!";
}
Ставь 👍 и забирай 📚 Базу знаний
Форматы запросов и ответов в приложении предназначены для стандартизированного обмена данными между клиентом (браузером, мобильным приложением) и сервером (PHP-приложением). Они позволяют:
Обеспечить совместимость между разными системами
Облегчить обработку данных на сервере и клиенте
Структурировать данные в удобном формате
🚩Форматы запросов (Request Formats)
Когда клиент отправляет запрос на сервер, данные могут передаваться разными способами.
🟠GET – передача данных через URL
Используется для получения информации. Данные передаются в строке запроса.
GET /api/users?id=10
Пример обработки в PHP
$id = $_GET['id']; // Получаем id из URL
🟠POST – передача данных в теле запроса
Используется для отправки данных (например, формы).
POST /api/users
Content-Type: application/json
{
"name": "Иван",
"email": "ivan@example.com"
}
Пример обработки в PHP
$data = json_decode(file_get_contents("php://input"), true);
echo "Имя: " . $data['name'];
🟠PUT, PATCH, DELETE – для обновления и удаления данных
Используются в REST API для изменения или удаления данных.
🚩Форматы ответов (Response Formats)
Сервер отправляет ответ в определённом формате, который клиент сможет распознать.
🟠JSON – самый популярный формат
Используется в API и веб-приложениях.
{
"status": "success",
"message": "Данные получены"
}
Пример ответа в PHP
header("Content-Type: application/json");
echo json_encode(["status" => "success", "message" => "Данные получены"]);
🟠XML – используется в старых системах
Пример XML-ответа
success
Данные получены
🟠HTML – если сервер возвращает веб-страницу
Например, при загрузке сайта.
echo "Привет, мир!";
🟠Текстовый формат (Plain Text)
Если нужен простой текст
header("Content-Type: text/plain");
echo "Привет, это просто текст!";
🚩Как сервер определяет формат ответа?
Сервер анализирует заголовок Accept в запросе:
Accept: application/json
PHP может обработать это так:
$accept = $_SERVER['HTTP_ACCEPT'];
if (strpos($accept, "application/json") !== false) {
header("Content-Type: application/json");
echo json_encode(["message" => "Привет, JSON!"]);
} else {
echo "Привет, обычный текст!";
}
Ставь 👍 и забирай 📚 Базу знаний