Запрос
Оригинальное название: query
Коротко
Обращение к базе данных, серверу или API с описанием того, какие данные нужно получить или изменить и по каким условиям.
Что такое «Запрос»
По-русски одним словом называют две разные вещи. Английское query — запрос к данным: «выбери заказы за октябрь». Request — обращение по сети: браузер просит у сервера страницу. На практике они встречаются вместе: HTTP-запрос приходит на сайт, а код, обрабатывая его, делает несколько запросов к базе. Есть и третье значение — поисковый запрос в SEO, то есть фраза, которую человек вводит в поисковик.
Запрос к базе данных
Классический язык таких запросов — SQL. Запрос перечисляет нужные поля, таблицу, условия, сортировку и ограничение. В CMS его обычно пишут не вручную, а через обёртки: в WordPress — WP_Query или объект $wpdb, в 1С-Битрикс — ORM ядра D7.
// WordPress: значения подставляются безопасно через prepare()
$rows = $wpdb->get_results($wpdb->prepare(
"SELECT ID, post_title FROM {$wpdb->posts}
WHERE post_status = %s AND post_type = %s LIMIT %d",
'publish', 'product', 10
));
// 1С-Битрикс D7
$res = \Bitrix\Iblock\ElementTable::getList([
'select' => ['ID', 'NAME'],
'filter' => ['=IBLOCK_ID' => 5, '=ACTIVE' => 'Y'],
'limit' => 10,
]);
HTTP-запрос
Сетевой запрос состоит из метода, адреса, заголовков и иногда тела. Метод говорит серверу, что нужно сделать: GET — получить, POST — отправить данные, DELETE — удалить. Подробнее — в статье о методах HTTP. Сервер отвечает кодом состояния и содержимым.
Что влияет на скорость и безопасность
- Значения от пользователя нельзя вклеивать в текст SQL — только через подготовленные выражения, иначе возможна SQL-инъекция.
- Выбирать стоит только нужные поля и строки:
SELECT *по таблице с миллионом записей тормозит страницу. - Условия фильтрации должны опираться на индексы. Медленные запросы видны в журнале медленных запросов СУБД или в плагине Query Monitor для WordPress.
- Частая беда CMS — проблема N+1: на странице списка для каждого товара делается отдельный запрос за ценой или картинкой. Сотня товаров — сотня лишних обращений к базе.

