Одним из способов, как можно отправить запрос по протоколу HTTP к серверу, является запрос методом GET. Этот метод является самым распространенным и запросы к серверу чаще всего происходят с его использованием.

Отправка GET-запроса с помощью браузера

Самый простой способ, как можно создать запрос методом GET- это набрать URL-адрес в адресную строку браузера.

Содержимое http запроса, которое браузер передаст серверу выглядит примерно так:

GET / HTTP/1.1
Host: site.ru
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: wp-settings
Connection: keep-alive

Запрос состоит из двух частей:

1. строка запроса (Request Line)

2. заголовки (Message Headers)

Отправка данных с помощью GET запроса на сервер

Обратите внимание, что GET запрос не имеет тела сообщения (body), в котором мы могли бы передать какие-либо данные на сервер. Основное предназначение GET запроса - это получение данных с сервера, а не отправка туда какой-либо информации.  

Но, это не означает, что с его помощью мы не можем передать серверу никакую информацию. Это можно делать с помощью специальных GET параметров.

Чтобы добавить GET параметры к запросу, нужно в конце URL-адреса поставить знак «?» и после него начинать задавать их по следующему правилу:

имя_параметра1=значение_параметра1& имя_параметра2=значение_параметра2&…

Разделителем между параметрами служит знак «&».

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

http://site.com/page.php?name=dima&age=27

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

Прием данных GET запроса на сервере с помощью языка PHP.

Вот пример, как это можно сделать на языке PHP.

<?php
echo "Ваше имя: " . $_GET["name"] . "<br />";
echo "Ваш возраст: " . $_GET["age"] . "<br />";

Конструкция $_GET["имя_параметра"] позволяет выводить значение переданного параметра.

В результате выполнения этого кода в браузере выведется:

Ваше имя: dima

Ваш возраст: 27

Кстати, переходя по какой-либо ссылке, которая оформлена в HTML вот так:

<a href="link.php?name=dima">Ссылка</a>

мы тоже выполняем запрос к серверу методом GET.

Отправка GET запросов с помощью REST клиентов.

REST клиенты вроде Insomnia или Postman и др. позволяют легко отправить GET запрос на какой-либо веб-ресурс. 

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

https://webkyrs.info/page/vipolnyaem-prostoi-get-zapros-v-insomnia

Отправка GET запроса с помощью Javascript

В JavaScript существует несколько способов отправки GET-запросов. Подробнее об отправке запросов можно посмотреть в этом курсе по основам работы с API здесь:

https://webkyrs.info/category/api-osnovy-raboty

1. Использование XMLHttpRequest

// Создаем новый экземпляр XMLHttpRequest
var xhr = new XMLHttpRequest();

// Настраиваем запрос
xhr.open("GET", "https://api.example.com/data", true);

// Обработка ответа
xhr.onreadystatechange = function() {
    if (xhr.readyState === 4 && xhr.status === 200) {
        console.log(xhr.responseText);
    }
};

// Отправляем запрос
xhr.send();

2. Использование fetch

// Отправка GET-запроса с использованием fetch
fetch('https://api.example.com/data')
    .then(response => {
        if (!response.ok) {
            throw new Error('Network response was not ok ' + response.statusText);
        }
        return response.json();
    })
    .then(data => {
        console.log(data);
    })
    .catch(error => {
        console.error('There has been a problem with your fetch operation:', error);
    });

3. Использование сторонних библиотек.

Чаще всего в проектах используется библиотека axios и запрос может выглядеть следующим образом:

// Подключаем библиотеку axios
const axios = require('axios');

// Отправка GET-запроса с использованием axios
axios.get('https://api.example.com/data')
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error('There has been a problem with your axios operation:', error);
    });

Но, существуют и другие библиотеки в Javascript, которые позволяют выполнять GET запросы, например jQuery.

Отправка GET запроса с помощью PHP

В любом языке программирования, мы рассмотрим PHP есть свой инструменты, которые позволяют отправлять http GET запросы. 

Для php таким инструментом является утилита CURL. Подробнее с ней можно познакомиться здесь:

https://webkyrs.info/page/chto-takoe-curl

Простой запрос может выглядеть следующим образом

<?php

// URL для запроса
$url = "https://api.example.com/data";


// Инициализация cURL
$ch = curl_init();


// Установка опций cURL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);


// Выполнение запроса и получение ответа
$response = curl_exec($ch);


// Проверка на ошибки
if (curl_errno($ch)) {
    echo 'Ошибка запроса: ' . curl_error($ch);
} else {
    // Обработка ответа
    echo 'Ответ сервера: ' . $response;
}

// Закрытие cURL-сессии
curl_close($ch);

?>

В этой статье мы рассмотрели лишь несколько примеров, как можно использовать GET запросы. В зависимости от языка программирования, который вы используете, методы применения могут отличаться.

Главное понять основной смысл.