100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace

Web Development Reference

HTTP Headers Reference

An HTTP header is a name-value pair carried alongside a request or response that describes it — what format the body is in, how long it may be cached, which origins may read it, and who is asking. This reference lists the headers you will actually meet, with a real value for each.

103 entries8 categoriesFree, no sign-up

Browse by Category

All HTTP Headers (103)

General (7)

Headers that apply to requests and responses alike.

Connection

Direction

Both

What it controls

Whether the TCP connection stays open for further messages. Removed in HTTP/2 and HTTP/3, which multiplex over one connection.

Typical value

keep-alive

Date

Direction

Both

What it controls

When the message was generated, in GMT. Used to calculate the age of a cached response.

Typical value

Tue, 09 Jun 2026 08:14:00 GMT

Via

Direction

Both

What it controls

Records each proxy the message passed through, which is how a loop through caches gets detected.

Typical value

1.1 varnish, 1.1 cloudfront

Upgrade

Direction

Both

What it controls

Asks to switch this connection to another protocol — the mechanism behind the WebSocket handshake.

Typical value

websocket

Trailer

Direction

Both

What it controls

Names headers that will appear after a chunked body, for values only known once the body is written.

Typical value

Expires

Transfer-Encoding

Direction

Response

What it controls

How the body was encoded for transfer. chunked streams a body whose length is not known up front.

Typical value

chunked

Keep-Alive

Direction

Both

What it controls

Tunes how long an idle connection is held open and how many requests it may serve.

Typical value

timeout=5, max=100

Request Headers (26)

What the client tells the server about itself.

Host

Direction

Request

What it controls

Which hostname the request is for. Mandatory in HTTP/1.1 — it is what lets one IP serve many sites.

Typical value

example.com

User-Agent

Direction

Request

What it controls

Identifies the client software. Widely spoofed and increasingly frozen by browsers, so do not depend on it for logic.

Typical value

Mozilla/5.0 (Macintosh; …)

Accept

Direction

Request

What it controls

Which media types the client can handle, with optional q weights so the server can pick the best.

Typical value

application/json, text/html;q=0.9

Accept-Encoding

Direction

Request

What it controls

Which compression schemes the client understands. Sending this is what enables gzip and brotli.

Typical value

br, gzip, deflate

Accept-Language

Direction

Request

What it controls

Preferred human languages, weighted. The basis of server-side locale negotiation.

Typical value

en-GB, en;q=0.9, ta;q=0.8

Referer

Direction

Request

What it controls

The page that linked here. Misspelled in the original specification and never corrected. Trimmed by Referrer-Policy.

Typical value

https://example.com/blog

Range

Direction

Request

What it controls

Asks for part of a resource. What makes video seeking and resumable downloads work.

Typical value

bytes=0-1023

If-Modified-Since

Direction

Request

What it controls

Revalidates a cached copy by date — the server answers 304 if nothing changed since.

Typical value

Tue, 09 Jun 2026 08:14:00 GMT

If-None-Match

Direction

Request

What it controls

Revalidates by ETag. More precise than a date, and what browsers send when they hold an ETag.

Typical value

W/"a1b2c3d4"

If-Match

Direction

Request

What it controls

Applies a write only if the resource still matches this ETag — optimistic locking for APIs.

Typical value

"a1b2c3d4"

If-Unmodified-Since

Direction

Request

What it controls

Applies a write only if the resource has not changed since this time.

Typical value

Tue, 09 Jun 2026 08:14:00 GMT

Expect

Direction

Request

What it controls

Asks the server to confirm before the body is sent. Avoids uploading a large body that will be rejected.

Typical value

100-continue

From

Direction

Request

What it controls

An email address for whoever runs the client. Used by well-behaved crawlers.

Typical value

[email protected]

Max-Forwards

Direction

Request

What it controls

Caps how many proxies a TRACE or OPTIONS request may traverse.

Typical value

10

TE

Direction

Request

What it controls

Which transfer encodings the client accepts, and whether it will read trailers.

Typical value

trailers, deflate

X-Requested-With

Direction

Request

What it controls

A convention, not a standard, that frameworks set on XHR so servers can tell AJAX from a page load.

Typical value

XMLHttpRequest

X-Forwarded-For

Direction

Request

What it controls

The original client IP, appended by each proxy. Trust it only from proxies you control — clients can forge it.

Typical value

203.0.113.7, 70.41.3.18

X-Forwarded-Proto

Direction

Request

What it controls

The scheme the client used before the proxy. How an app behind a TLS-terminating load balancer knows it is on HTTPS.

Typical value

https

X-Forwarded-Host

Direction

Request

What it controls

The Host the client originally asked for, preserved across a proxy that rewrites it.

Typical value

example.com

Forwarded

Direction

Request

What it controls

The standardised replacement for the X-Forwarded-* family, carrying all of it in one header.

Typical value

for=203.0.113.7;proto=https

DNT

Direction

Request

What it controls

Do Not Track. Effectively dead — never widely honoured and now removed from most browsers.

Typical value

1

Save-Data

Direction

Request

What it controls

The user has asked for reduced data use. A cue to serve smaller images and skip prefetching.

Typical value

on

Sec-Fetch-Site

Direction

Request

What it controls

Browser-set metadata saying whether the request is same-origin, same-site or cross-site. Cannot be forged by script.

Typical value

same-origin

Sec-Fetch-Mode

Direction

Request

What it controls

Browser-set: how the request was initiated — navigate, cors, no-cors or same-origin.

Typical value

cors

Sec-Fetch-Dest

Direction

Request

What it controls

Browser-set: what the result will be used for — document, script, image and so on. Useful for blocking odd combinations.

Typical value

script

Sec-CH-UA

Direction

Request

What it controls

A client hint carrying browser brand and version, the structured replacement for parsing User-Agent.

Typical value

"Chromium";v="120"

Response Headers (15)

What the server tells the client about the response.

Server

Direction

Response

What it controls

Identifies the server software. Often trimmed deliberately, since a version number is a gift to an attacker.

Typical value

nginx

Location

Direction

Response

What it controls

Where to go next. Meaningful on a 3xx redirect and on a 201 pointing at the resource just created.

Typical value

/login?next=/dashboard

Retry-After

Direction

Response

What it controls

How long to wait before retrying, as seconds or a date. Sent with 429 and 503 — clients should honour it.

Typical value

120

Allow

Direction

Response

What it controls

Which methods the resource supports. Required on a 405 response.

Typical value

GET, POST, HEAD

Accept-Ranges

Direction

Response

What it controls

Advertises that range requests are supported, which is what enables resumable downloads.

Typical value

bytes

Content-Range

Direction

Response

What it controls

Which part of the resource this 206 response contains, and its total size.

Typical value

bytes 0-1023/146515

Vary

Direction

Response

What it controls

Which request headers change the response, so caches key on them too. Omitting it is how users get served the wrong language or the wrong compression.

Typical value

Accept-Encoding, Accept-Language

Link

Direction

Response

What it controls

Relationships expressed in a header rather than markup — pagination, preload hints and canonical URLs for non-HTML resources.

Typical value

</next>; rel="next"

X-RateLimit-Limit

Direction

Response

What it controls

A convention, not a standard: how many requests are allowed in the current window.

Typical value

1000

X-RateLimit-Remaining

Direction

Response

What it controls

How many requests remain in this window. Paired with X-RateLimit-Reset for the reset time.

Typical value

947

Timing-Allow-Origin

Direction

Response

What it controls

Lets a named origin read detailed Resource Timing data for this resource, which is otherwise hidden cross-origin.

Typical value

*

Server-Timing

Direction

Response

What it controls

Server-side timing metrics surfaced in browser devtools, for attributing latency to a backend phase.

Typical value

db;dur=53, app;dur=47.2

Alt-Svc

Direction

Response

What it controls

Advertises the same service on another protocol or port — how a browser discovers HTTP/3.

Typical value

h3=":443"; ma=86400

Age

Direction

Response

What it controls

How many seconds ago a cache stored this response. A large value on a fresh page means a cache is holding it.

Typical value

3600

Refresh

Direction

Response

What it controls

A non-standard redirect after a delay, mirroring the meta refresh tag. Prefer a real 3xx.

Typical value

5; url=/dashboard

Representation (9)

Describing the body: type, length, encoding, language.

Content-Type

Direction

Both

What it controls

What the body actually is. Getting it wrong makes browsers download files they should render, or block scripts entirely.

Typical value

application/json; charset=utf-8

Content-Length

Direction

Both

What it controls

Body size in bytes. Omitted when Transfer-Encoding: chunked is used, since the length is not known in advance.

Typical value

146515

Content-Encoding

Direction

Response

What it controls

Which compression was applied to the body. The client must reverse it before parsing.

Typical value

br

Content-Language

Direction

Response

What it controls

The human language of the body. Distinct from Content-Type, which describes the format.

Typical value

en-GB

Content-Disposition

Direction

Response

What it controls

Whether to display the body inline or download it, and under what filename.

Typical value

attachment; filename="report.pdf"

Content-Location

Direction

Response

What it controls

The direct URL of this particular representation, when the requested URL negotiates between several.

Typical value

/report.en.pdf

Content-MD5

Direction

Response

What it controls

A checksum of the body. Deprecated — it guards against corruption, not tampering.

Typical value

Q2hlY2sgSW50ZWdyaXR5IQ==

Last-Modified

Direction

Response

What it controls

When the resource last changed. One-second resolution, so an ETag is more reliable for fast-changing content.

Typical value

Tue, 09 Jun 2026 08:14:00 GMT

ETag

Direction

Response

What it controls

An opaque token identifying this version. A leading W/ marks it weak, meaning semantically rather than byte-for-byte equal.

Typical value

W/"a1b2c3d4"

Caching & Conditionals (12)

How long a response may be reused, and revalidation.

Cache-Control

Direction

Both

What it controls

The primary caching control. On a response it says who may store it and for how long; on a request it can force revalidation.

Typical value

public, max-age=31536000, immutable

Cache-Control: no-store

Direction

Response

What it controls

Must not be written to any cache. The correct directive for anything private — stronger than no-cache despite the name.

Typical value

no-store

Cache-Control: no-cache

Direction

Response

What it controls

May be stored, but must be revalidated with the server before reuse. Unchanged content still saves bandwidth via a 304.

Typical value

no-cache

Cache-Control: max-age

Direction

Both

What it controls

How many seconds the response stays fresh. After that it must be revalidated.

Typical value

max-age=3600

Cache-Control: s-maxage

Direction

Response

What it controls

Freshness for shared caches such as a CDN only, overriding max-age there. Lets a CDN hold longer than a browser.

Typical value

s-maxage=86400

Cache-Control: stale-while-revalidate

Direction

Response

What it controls

Serve the stale copy immediately while refreshing in the background — no user waits for the revalidation.

Typical value

max-age=60, stale-while-revalidate=600

Cache-Control: immutable

Direction

Response

What it controls

The body will never change at this URL, so skip revalidation entirely. Safe only with content-hashed filenames.

Typical value

max-age=31536000, immutable

Cache-Control: private

Direction

Response

What it controls

Only the end user's browser may cache it — shared caches and CDNs must not.

Typical value

private, max-age=600

Cache-Control: must-revalidate

Direction

Response

What it controls

Once stale, the cache may not serve it without checking, even if the origin is unreachable.

Typical value

max-age=0, must-revalidate

Expires

Direction

Response

What it controls

An absolute expiry date. Superseded by Cache-Control max-age, which wins wherever both are present.

Typical value

Tue, 09 Jun 2026 08:14:00 GMT

Pragma

Direction

Request

What it controls

An HTTP/1.0 relic; only no-cache is defined. Present for legacy proxies, harmless to omit.

Typical value

no-cache

Surrogate-Control

Direction

Response

What it controls

Caching directives aimed at a CDN specifically, which strips the header before the browser sees it.

Typical value

max-age=3600

CORS (9)

Cross-origin access control, preflight and credentials.

Origin

Direction

Request

What it controls

The scheme, host and port the request came from. Set by the browser and not forgeable by page script.

Typical value

https://app.example.com

Access-Control-Allow-Origin

Direction

Response

What it controls

Which origin may read the response. Either one exact origin or *, never a list — echo the request Origin to allow several.

Typical value

https://app.example.com

Access-Control-Allow-Methods

Direction

Response

What it controls

Which methods are permitted cross-origin. Answered on the preflight, not the real request.

Typical value

GET, POST, PUT, DELETE

Access-Control-Allow-Headers

Direction

Response

What it controls

Which request headers the client may set. Any custom header triggers a preflight that must list it here.

Typical value

Content-Type, Authorization

Access-Control-Allow-Credentials

Direction

Response

What it controls

Permits cookies and auth headers cross-origin. Incompatible with a wildcard origin — the origin must be named.

Typical value

true

Access-Control-Expose-Headers

Direction

Response

What it controls

Which response headers page script may read. Without it, only a short safelist is visible to fetch().

Typical value

X-Total-Count, Link

Access-Control-Max-Age

Direction

Response

What it controls

How long a preflight result may be cached, so repeated calls skip the extra round trip.

Typical value

86400

Access-Control-Request-Method

Direction

Request

What it controls

Sent on a preflight to ask whether this method would be allowed.

Typical value

DELETE

Access-Control-Request-Headers

Direction

Request

What it controls

Sent on a preflight to ask whether these headers would be allowed.

Typical value

authorization, content-type

Security (14)

Headers that harden the browser against attacks.

Strict-Transport-Security

Direction

Response

What it controls

Forces HTTPS for this host for the given period, so a later plain-HTTP link never leaves the browser. Only honoured over HTTPS.

Typical value

max-age=31536000; includeSubDomains

Content-Security-Policy

Direction

Response

What it controls

Declares which sources may load and execute, which is the strongest defence against cross-site scripting.

Typical value

default-src 'self'; img-src 'self' data:

Content-Security-Policy-Report-Only

Direction

Response

What it controls

Evaluates a policy and reports violations without blocking anything — how you roll a CSP out safely.

Typical value

default-src 'self'; report-uri /csp

X-Content-Type-Options

Direction

Response

What it controls

Stops the browser guessing a type different from the declared one. The only valid value is nosniff, and every response should carry it.

Typical value

nosniff

X-Frame-Options

Direction

Response

What it controls

Prevents the page being framed, blocking clickjacking. Superseded by CSP frame-ancestors, still sent for old browsers.

Typical value

DENY

Referrer-Policy

Direction

Response

What it controls

How much of the current URL is sent as Referer on outbound links. Controls whether query strings leak to third parties.

Typical value

strict-origin-when-cross-origin

Permissions-Policy

Direction

Response

What it controls

Enables or disables browser features per origin — camera, microphone, geolocation. Formerly Feature-Policy.

Typical value

geolocation=(), camera=()

Cross-Origin-Opener-Policy

Direction

Response

What it controls

Detaches the page from cross-origin windows that opened it. Required, with COEP, to unlock SharedArrayBuffer.

Typical value

same-origin

Cross-Origin-Embedder-Policy

Direction

Response

What it controls

Requires every embedded resource to opt in explicitly. The second half of cross-origin isolation.

Typical value

require-corp

Cross-Origin-Resource-Policy

Direction

Response

What it controls

Says who may embed this resource at all, limiting cross-origin leaks such as Spectre-style side channels.

Typical value

same-site

X-XSS-Protection

Direction

Response

What it controls

Toggled an old browser XSS filter that itself introduced bugs. Deprecated — set it to 0 and use CSP.

Typical value

0

X-Permitted-Cross-Domain-Policies

Direction

Response

What it controls

Restricts legacy Flash and PDF cross-domain policy files. Cheap to send, still worth setting to none.

Typical value

none

Expect-CT

Direction

Response

What it controls

Required Certificate Transparency logging. Obsolete — modern browsers enforce CT unconditionally.

Typical value

max-age=86400, enforce

Integrity-Policy

Direction

Response

What it controls

Requires subresource integrity hashes on scripts, so a compromised CDN cannot swap the file.

Typical value

blocked-destinations=(script)

Frequently Asked Questions

What is the difference between Cache-Control: no-cache and no-store?

no-cache allows the response to be stored but requires revalidation with the server before it is reused, so an unchanged resource still saves bandwidth via a 304. no-store forbids storing it at all, which is what you want for anything private — it is the stronger of the two despite the name suggesting otherwise.

Which security headers should every site send?

At minimum: Strict-Transport-Security to force HTTPS, Content-Security-Policy to constrain what may execute, X-Content-Type-Options: nosniff to stop MIME sniffing, Referrer-Policy to limit what leaks in the Referer, and X-Frame-Options or CSP frame-ancestors to prevent clickjacking.

Why is my CORS request failing even though I set Access-Control-Allow-Origin?

Usually the preflight. A request with a non-simple method or custom header triggers an OPTIONS preflight that must be answered with Access-Control-Allow-Methods and Access-Control-Allow-Headers as well. And if credentials are involved, the origin must be named explicitly — the wildcard * is rejected with Access-Control-Allow-Credentials: true.

What is the difference between ETag and Last-Modified?

Both let a client revalidate a cached response. Last-Modified is a timestamp with one-second resolution; ETag is an opaque token the server derives from the content, so it detects changes a timestamp misses and works for resources that change more than once a second. Clients send them back as If-Modified-Since and If-None-Match.

Related Reading

#HTTP#WebDevelopment#REST#WebSecurity#Caching#CORS#Frontend#Backend#WebStandards#QuickReference#DeveloperReference#KnowledgeHub#SkillVeris#HttpHeaders#RequestHeaders#ResponseHeaders#CacheControlHeader#CorsHeaders#SecurityHeaders#ContentSecurityPolicy

Frequently Asked Questions

21 categories · pick one to explore

What is SkillVeris?
SkillVeris is a completely free tech-upskilling platform offering 37 live courses across AI/ML, programming, web development, DevOps, cloud, security and databases. It combines structured courses of 24–40 lessons, a 24/7 AI Mentor, and a unique Learn Through Hobbies method that explains technical concepts through cricket, music, gaming, cooking and more. It is powered by Sri Hayavadhana.
Is SkillVeris really a free learning platform?
Yes, SkillVeris is genuinely free. Every course, assessment, certificate, study note, cheat sheet and the AI Mentor are available at no cost. There are no hidden paywalls, trial periods or premium tiers locking away lessons. The platform was built to make quality tech education accessible to learners in India and worldwide without financial barriers.
Who is SkillVeris for?
SkillVeris is for anyone learning technology skills: complete beginners starting to code, students preparing for placements, working professionals switching into AI, DevOps or cloud roles, and hobbyists exploring new tools. Courses span beginner to advanced levels, and the Learn Through Hobbies method makes complex topics approachable even if you have no technical background at all.
What makes SkillVeris different from other online learning platforms?
SkillVeris stands out with its Learn Through Hobbies method, which teaches every concept through analogies from cricket, music, gaming, cooking and eight more domains you can switch instantly. Add a free 24/7 AI Mentor, structured courses of 24–40 lessons with certificates, Code Lab for in-browser practice, and a live jobs portal, all completely free of charge.
What can I learn on SkillVeris?
You can learn AI and machine learning, Python, programming fundamentals, web development, DevOps, cloud computing, security and databases through 37 live courses. Beyond courses, SkillVeris offers study notes, cheat sheets, a glossary of roughly 2,000+ terms, 500+ blog articles, interview questions with readiness scoring, and Code Lab supporting six programming languages.
Does SkillVeris offer personalized learning?
Yes, personalization is central to SkillVeris. You choose the analogy domain that matches your interests, cricket, gaming, music, cooking and more, and lessons instantly adapt their explanations. The AI Mentor answers your questions at Quick, Detailed or Deep-dive depth, and learning paths guide you toward specific careers like AI Engineer or DevOps Engineer.
Do I need any prior experience to start learning on SkillVeris?
No prior experience is needed. Many SkillVeris courses are designed for absolute beginners, starting from fundamentals and building up gradually across 35 structured lessons. The Learn Through Hobbies analogies explain technical ideas using everyday interests, so newcomers grasp concepts faster. Intermediate and advanced courses are also available when you are ready to progress.
How do I get started with SkillVeris?
Simply visit skillveris.com, create a free account, and pick a course from the Topics page or follow a learning path like AI Engineer or Full Stack Java Developer. Choose your favourite analogy domain, work through the lessons, pass the module assessments and final exam, and earn your certificate, all without paying anything.
Is SkillVeris available in India?
Yes, SkillVeris is fully available in India and is built with Indian learners strongly in mind. All 37 courses, certificates and tools are free, and the jobs portal aggregates live roles across India alongside the UK, USA, Germany and remote positions, with salary and experience filters to help you find relevant opportunities.
Can I use SkillVeris on my mobile phone?
Yes, SkillVeris works in any modern mobile browser, so you can read lessons, switch analogy domains, ask the AI Mentor questions and take assessments from your phone. The platform is designed to load fast on mobile connections, making it practical to learn during commutes or short breaks without needing a laptop.
What is the Learn Through Hobbies method on SkillVeris?
Learn Through Hobbies is SkillVeris's signature teaching approach: every key concept is explained through analogies drawn from twelve domains including cricket, music, gaming, cooking, fitness, travel and finance. You pick the domain you love and can switch instantly, so abstract topics like machine learning pipelines feel familiar rather than intimidating.
Does SkillVeris have an AI tutor?
Yes, SkillVeris includes a built-in AI Mentor available 24/7. You can ask it any question about your lessons or technology in general and choose the depth of the answer: Quick for a fast summary, Detailed for a fuller explanation, or Deep-dive for a thorough walkthrough. It is free for every learner.
Does SkillVeris help with job hunting?
Yes, SkillVeris has a jobs portal aggregating live roles across India, the UK, USA, Germany and remote positions, with salary and experience filters. Combined with interview questions featuring readiness scoring, career-focused learning paths and free certificates you can share, the platform supports your job search from skill-building through to applications.
What learning paths does SkillVeris offer?
SkillVeris offers career-oriented learning paths such as AI Engineer, DevOps Engineer and Full Stack Java Developer, among others. Each path sequences relevant courses in a logical order so you build skills progressively toward a specific role, rather than guessing which course to take next. All path courses are free and include certificates.
How much time do I need to complete a SkillVeris course?
It depends on your pace. Structured courses contain 24–40 lessons (most have 35) plus module assessments and a final exam, and each lesson typically takes around half an hour of focused reading and practice. Many learners finish a course in a few weeks studying part-time, while dedicated full-time learners can move considerably faster.
Can I practice coding on SkillVeris?
Yes, SkillVeris includes Code Lab, an in-browser coding environment supporting six programming languages across 15 practice categories. You can write and run code directly in your browser without installing anything, which makes it easy to reinforce what you learn in lessons immediately. Code Lab is free, like everything else on the platform.
Does SkillVeris have free study materials besides courses?
Yes, alongside courses SkillVeris offers free study notes, cheat sheets for quick revision, a glossary of roughly 2,000+ technical terms, more than 500 blog articles, and interview questions with readiness scoring. These resources complement the courses and are handy for exam preparation, interviews and quick refreshers, all at no cost.
Who powers SkillVeris?
SkillVeris is powered by Sri Hayavadhana. The platform's mission is to make high-quality technology education free and genuinely engaging, combining structured courses, an always-available AI Mentor and the Learn Through Hobbies analogy method so learners in India and around the world can upskill without cost being a barrier.
Is SkillVeris suitable for working professionals switching careers?
Yes, career switchers can follow structured learning paths like AI Engineer or DevOps Engineer, study flexibly around work using mobile-friendly lessons, and validate their progress through assessments and certificates. The jobs portal with salary and experience filters, plus interview questions with readiness scoring, helps professionals move into new tech roles confidently.
How is SkillVeris free, is there a catch?
There is no catch. SkillVeris does not charge for courses, certificates, the AI Mentor, Code Lab or any learning resource, and there are no trial expirations or locked premium content. The platform exists to make tech education accessible, particularly for learners in India and other regions where paid platforms are often out of reach.

What Learners Say

Real journeys from the SkillVeris community — swipe for more.

SkillVeris taught me Python through Cricket. Now I’m building real projects and feeling confident!
Arjun S. · B.Tech Student
The best platform for hobby-based learning. Concepts finally stick.
Priya R. · Data Analyst
I went from zero coding to a portfolio of projects — all by learning through my love for gaming. Landed my first internship!
Kabir M. · CS Undergraduate
Trending Topics50 popular tags — tap to explore
Trending CoursesAll 37 free courses — tap to browse