HTTP заглавките са неразделна част от функционирането на мрежата. Те съдържат информация за „заявката“ (като потребителския агент, използван за отправяне на заявката, съдържанието, което искащият ще приеме, и езика). Те съдържат информация за „отговора“ (като тип съдържание, бисквитки за задаване и информация за кеширане). Те могат също да предоставят общи заглавки, които покриват неща като ip адреса на сървъра и метода REST.

За да видите сами тези заглавки, отидете на инструментите за разработчици на chrome ›› мрежа ›› презареждане ›› щракнете върху файл ›› погледнете секцията Заглавки. Трябва да изглежда нещо подобно.

В следващия пример на код ще говорим за заглавките на заявката x-auth-tokenиuser-agent,и заглавката на отговораset-cookie.

const express = require('express')
const app = express()
const port = 3000

app.get("/authRoute", (req, res) => {
    //KEEP TRACK OF ACCESSES
    console.log(req.header("user-agent"));
    const token = req.header("x-auth-token");
    if (token == null) {
        return res.status(400).send("No Auth Token Provided");
    } else if (token !== "password") {
        return res.status(401).send("Incorrect Token Provided")
    } else {
        res.setHeader("set-cookie", "username=bob, Max-Age=160000")
        res.setHeader("custom-header", "hello world!")
        res.send("Welcome!");
    }
});

app.listen(port, () => {
    console.log(`Example app listening on port ${port}`)
})

Представете си, че имаме този базов възлов сървър express.js. Имаме един маршрут, който ви позволява само ако предоставите x-auth-token „парола“ в заглавките на вашата заявка. Ние също регистрираме потребителския агент, за да проследим как се осъществява достъп до нашия сървър. Ще използвам Postman, за да тествам и трите случая.

Няма токен за удостоверяване

В първата ни заявка не предоставяме x-auth-token и получаваме грешка 400, което означава, че не сме предоставили удостоверяване.

Неправилен токен за удостоверяване

След това ще предоставим заглавката x-auth-token, но ще имаме грешна стойност, така че ще получим 401, тъй като не сме упълномощени за достъп до страницата, дадена на текущия токен за удостоверяване.

Правилен токен за удостоверяване

Накрая предоставяме правилния токен за удостоверяване, нашият сървър ни поздравява с код 200 и съобщение „Добре дошли!“ той също така изпраща обратно бисквитка, използвайки заглавката на отговора set-cookie и ние също така предоставяме собствена персонализирана заглавка.

Ето го, вече можем да използваме заглавки за бисквитки, показатели и стробиране на маршрути. Това е връзката към някои „често използвани заглавки“, но като цяло заглавките могат да бъдат каквито се договорят сървърът и клиентът, така че ако притежавате логиката на клиента и сървъра, можете да направите заглавките каквито искате.

Някои други страхотни неща, които можете да опитате да постигнете с HTTP Headers, са: проверка на потребителския агент, за да видите дали заявката идва от мобилно или настолно устройство и да я насочите към желания html изглед, проверка на Content-Length на отговор и предварително разпределете памет, за да съхранявате всичко, вместо да четете съдържанието парче по парче чрез поток и всякакви други страхотни приложения, за които се сетите, и ако имате някакви идеи, не се колебайте да ги коментирате по-долу!