HTTP-заголовки — це пари ключ-значення, що передаються разом із запитом або відповіддю: вони несуть метадані про тип контенту, токени автентифікації та кастомну інформацію.
У `fetch` заголовки запиту встановлюються в об'єкті options:
```javascript
const response = await fetch(url, {
headers: {
'Authorization': 'Token abc123',
'X-Custom-Header': 'my-value',
},
});
```
Можна також використовувати клас `Headers` для більш структурованого підходу:
```javascript
const headers = new Headers();
headers.set('Authorization', 'Token abc123');
headers.set('X-Request-ID', '42');
const response = await fetch(url, { headers });
```
Ендпоінт `/api/echo/` відображає назад саме те, що ви надіслали — він корисний для перевірки того, що заголовки доходять так, як очікується:
```javascript
const response = await fetch('https://apilearn.tukas.dev/api/echo/', {
headers: { 'X-Custom-Header': 'hello' },
});
const data = await response.json();
// data.headers містить заголовки, отримані сервером
console.log(data.headers['X-Custom-Header']); // "hello"
```
Ехо-ендпоінт повертає:
```javascript
{
method: "GET",
headers: { /* всі заголовки запиту */ },
body: null,
query_params: {}
}
```
Надішліть GET `/api/echo/` з трьома заголовками: `X-App: my-app`, `X-Version: 1.0` та `X-Request-ID: 42`. Виведіть повний об'єкт `headers` з відповіді.
Надішліть GET `/api/echo/?color=blue&size=large`. Виведіть метод та об'єкт `query_params` з відповіді.
const BASE_URL = 'https://apilearn.tukas.dev';
async function main() {
// GET /api/echo/ із двома параметрами запиту
// вивести method і query_params
}
main();
Надішліть POST до `/api/echo/` з JSON-тілом `{name: "test"}` та заголовком `Content-Type: application/json`. Виведіть відображений заголовок `Content-Type` та поле `body`.
const BASE_URL = 'https://apilearn.tukas.dev';
async function main() {
// POST /api/echo/ із JSON-тілом та заголовком Content-Type
// вивести content-type заголовок і body з відповіді
}
main();
Побудуйте об'єкт `Headers` за допомогою `.set()`, додайте принаймні два кастомних заголовки, потім передайте його в GET-запит до `/api/echo/`. Виведіть відображені заголовки.
const BASE_URL = 'https://apilearn.tukas.dev';
async function main() {
const headers = new Headers();
// додати заголовки через .set()
// fetch і вивести відображені заголовки
}
main();
Ми використовуємо необхідні cookies для роботи сайту. З вашого дозволу ми також можемо зберігати налаштування сайту та використовувати аналітичні й рекламні cookies, щоб розуміти використання сайту й підтримувати розвиток проєкту.
* Ви завжди можете змінити свій вибір у налаштуваннях сайту.
Оберіть категорії cookies
Налаштування аналітики
Можна вимкнути аналітику використання платформи. Також можна надіслати в Google Analytics запит на видалення даних про використання цього сайту, пов'язаних із цим браузером.
Навчальний workspace
Навчайтеся, читаючи, запускаючи код і розв'язуючи задачі.
Практикуйте програмування з поясненнями тем, вправами, інструментами browser IDE, перевіркою regex і тренуванням друку коду в одному workspace.
Відкривайте інструменти у вкладках.Вправи, IDE-інструменти й тренажери залишаються доступними як вкладки сайту.
Перемикайтеся без втрати контексту.Переходьте між поясненнями, кодом та утилітами, зберігаючи своє місце.
Використовуйте sidebar як карту.Ліві панелі містять навігацію, налаштування, файли, libraries та керування інструментами.
PythonJavaScriptSQLite
Одна IDE, три практичні режими
Python у браузері.Запускайте невеликі скрипти, пробуйте бібліотеки й тренуйте API-запити без встановлення.
JavaScript для швидких експериментів.Перевіряйте код для браузера й порівнюйте ідеї поруч із навчальними матеріалами.
SQLite для практики з даними.Відкривайте оглядач бази даних, переглядайте таблиці, пишіть запити й вивчайте SQL локально.
ТемаIDE
Працюйте поруч у split tabs
Тримайте інструкції перед очима.Відкрийте вправу або довідкову сторінку поруч з IDE, замість постійних перемикань.
Порівнюйте інструменти під час навчання.Розміщуйте перевірки regex, пояснення та експерименти з кодом поруч, коли це потрібно для задачі.
Закрийте split, коли завершите.Workspace повернеться до однієї сфокусованої вкладки, а відкриті вкладки сайту залишаться доступними.
Тренажер друку коду
Або звичайного тексту
Тренажер розрахований на фізичну клавіатуру.Відкрийте цей розділ на ноутбуці або комп'ютері з широким екраном. На телефоні тренування друку не працюватиме коректно.
Швидкість: 0 зн/хв
0 слів/хв
Найкраща швидкість (60с): 0 зн/хв
0 слів/хв
Помилки: 0
Загальний час: 0.0 с
Щоб тренувати сліпий друк, не підглядайте на фізичну клавіатуру.