Meta tags:
Headings (most frequently used words):
http, method, working, group, status, header, request, response, w3c, updates, and, connections, contents, page, version, versions, use, technology, message, format, similar, protocols, history, see, also, notes, references, external, links, transport, layer, data, exchange, application, session, authentication, encrypted, connection, body, entity, field, example, draft, ng, ietf, restarted, spdy, 2014, to, deprecation, refactoring, in, 2022, messages, through, persistent, content, retrieval, optimizations, resource, code, reason, phrase, safe, idempotent, cacheable,
Text of the page (most frequently used words):
the (389), http (308), and (172), rfc (109), web (104), for (90), request (86), #protocol (82), server (77), that (55), header (54), edit (49), was (46), #response (46), client (45), with (42), not (42), retrieved (40), this (38), internet (38), are (38), resource (35), method (34), connection (34), transfer (33), requests (33), standard (32), content (32), tcp (30), doi (29), methods (29), yes (29), hypertext (28), 17487 (28), get (27), which (27), june (25), servers (25), application (24), other (24), data (24), group (24), can (24), used (24), body (24), ietf (23), field (23), version (23), user (23), from (22), line (22), working (22), only (22), browsers (20), 9110 (20), more (20), also (20), status (19), has (19), task (19), force (19), authentication (19), engineering (18), 2022 (18), obsolete (18), message (18), connections (18), example (18), may (17), using (17), page (17), layer (17), fields (17), use (16), com (16), first (16), post (16), new (16), information (15), based (15), lee (15), support (15), but (15), world (14), org (14), semantic (14), fielding (14), 2021 (14), headers (14), delete (14), safe (14), code (13), html (13), google (13), proposed (13), have (13), some (13), multiple (13), many (13), see (13), one (13), idempotent (13), about (12), wide (12), browser (12), file (12), semantics (12), berners (12), when (12), obsoletes (12), 2014 (12), network (12), clients (12), etc (12), transport (12), head (12), single (11), security (11), w3c (11), reschke (11), spdy (11), access (11), been (11), they (11), its (11), would (11), put (11), 2026 (10), uri (10), 2010 (10), 2070 (10), 1721 (10), issn (10), 2616 (10), updates (10), documents (10), since (10), responses (10), over (10), because (10), following (10), any (10), all (10), optional (10), each (10), wikipedia (9), changes (9), consortium (9), protocols (9), https (9), persistent (9), defined (9), 1996 (9), time (9), allow (9), websites (9), than (9), document (9), article (9), name (9), versions (9), length (9), entity (9), resources (9), such (9), without (9), representation (8), history (8), compression (8), obsoleted (8), eds (8), 2019 (8), www (8), original (8), tim (8), patch (8), tls (8), mechanism (8), order (8), were (8), host (8), most (8), end (8), after (8), supported (8), sent (8), agent (8), start (8), reason (8), further (8), connect (8), effect (8), session (8), udp (8), search (7), september (7), via (7), 1991 (7), related (7), format (7), uses (7), caching (7), 7230 (7), 2015 (7), into (7), query (7), proxy (7), state (7), between (7), same (7), previous (7), main (7), part (7), include (7), accept (7), encoding (7), should (7), requested (7), through (7), instead (7), added (7), quic (7), developers (6), non (6), link (6), pages (6), url (6), standards (6), control (6), apache (6), list (6), features (6), range (6), updated (6), 9112 (6), action (6), httpbis (6), archived (6), started (6), few (6), will (6), simple (6), target (6), specification (6), then (6), specifications (6), called (6), address (6), messages (6), might (6), phrase (6), options (6), trace (6), cacheable (6), cases (6), where (6), encrypted (6), toggle (5), statistics (5), privacy (5), additional (5), last (5), short (5), technology (5), topics (5), extension (5), side (5), common (5), syntax (5), firefox (5), links (5), website (5), nottingham (5), 2817 (5), 2012 (5), faster (5), 2007 (5), 1997 (5), raggett (5), dave (5), retrieval (5), what (5), problem (5), sec (5), usage (5), general (5), future (5), keep (5), allowing (5), deprecated (5), cache (5), above (5), published (5), drafts (5), major (5), even (5), usually (5), required (5), reasons (5), virtual (5), already (5), early (5), their (5), years (5), latency (5), later (5), known (5), close (5), bytes (5), considered (5), error (5), size (5), closed (5), specifies (5), consists (5), transaction (5), port (5), provide (5), allows (5), space (5), modify (5), way (5), before (5), software (5), challenge (5), does (5), introduced (5), contents (4), view (4), text (4), under (4), inc (4), commons (4), description (4), different (4), scripting (4), feed (4), unofficial (4), official (4), uniform (4), schemes (4), language (4), xml (4), supporting (4), metadata (4), chromium (4), cookies (4), technical (4), media (4), communication (4), qpack (4), 7234 (4), std (4), 9111 (4), 9114 (4), 7235 (4), 7233 (4), 7232 (4), conditional (4), 7231 (4), january (4), cern (4), basic (4), draft (4), byte (4), 2005 (4), released (4), note (4), 1999 (4), rfc9110 (4), names (4), 9113 (4), upgrade (4), secure (4), w3techs (4), cloudflare (4), present (4), negotiation (4), 1945 (4), had (4), alive (4), exchange (4), streams (4), number (4), real (4), per (4), serving (4), separate (4), never (4), there (4), developed (4), traffic (4), work (4), restarted (4), named (4), problems (4), specified (4), pre (4), hosting (4), specify (4), less (4), always (4), type (4), identical (4), useful (4), although (4), two (4), sequence (4), crlf (4), accepted (4), value (4), must (4), contrast (4), whether (4), however (4), sending (4), send (4), email (4), make (4), require (4), partial (4), often (4), case (4), dynamically (4), lines (4), shown (4), form (4), managed (4), provides (4), communications (4), hide (4), move (4), sidebar (4), topic (3), mobile (3), available (3), wikimedia (3), wikidata (3), articles (3), title (3), international (3), discontinued (3), dom (3), apis (3), comparison (3), service (3), websocket (3), telnet (3), gopher (3), identifier (3), rule (3), references (3), knowledge (3), architecture (3), applications (3), systems (3), msn (3), mode (3), explorer (3), opera (3), mozilla (3), suite (3), gecko (3), chrome (3), design (3), issues (3), external (3), extensible (3), bishop (3), 9204 (3), routing (3), 7540 (3), high (3), 2009 (3), 2068 (3), frystyk (3), 1992 (3), accelerator (3), 978 (3), isbn (3), 5789 (3), default (3), arbitrary (3), hpack (3), april (3), implement (3), efficient (3), planned (3), speed (3), practice (3), these (3), system (3), digest (3), refactoring (3), officially (3), still (3), how (3), long (3), very (3), old (3), written (3), properly (3), announced (3), initially (3), binary (3), multiplexing (3), 1995 (3), adoption (3), extended (3), full (3), both (3), words (3), upload (3), similar (3), ranges (3), etag (3), compressed (3), gzip (3), chunked (3), cached (3), respond (3), needs (3), due (3), blank (3), return (3), except (3), codes (3), received (3), process (3), represents (3), generally (3), therefore (3), effects (3), users (3), handle (3), intended (3), configured (3), limited (3), account (3), log (3), read (3), bandwidth (3), made (3), create (3), like (3), intermediate (3), least (3), generated (3), includes (3), could (3), encoded (3), plus (3), root (3), typically (3), another (3), returned (3), reduce (3), pipelining (3), underlying (3), found (3), tools (3), subsection (3), add (2), languages (2), table (2), cookie (2), legal (2), safety (2), contact (2), policy (2), terms (2), site (2), foundation (2), hidden (2), categories (2), category (2), displaying (2), descriptions (2), redirect (2), targets (2), clarification (2), cs1 (2), maint (2), properties (2), databases (2), framework (2), api (2), push (2), database (2), others (2), webgl (2), webrtc (2), webgpu (2), webassembly (2), indexeddb (2), events (2), storage (2), websockets (2), open (2), container (2), javascript (2), python (2), asp (2), webdav (2), encryption (2), irc (2), gemini (2), xmpp (2), source (2), tag (2), sip (2), nntp (2), ldap (2), ftp (2), vocabularies (2), core (2), logic (2), ontologies (2), triples (2), rdf (2), science (2), digital (2), library (2), wiki (2), sub (2), networks (2), worldwideweb (2), mac (2), ibm (2), edge (2), legacy (2), webkit (2), waterfox (2), classic (2), blink (2), flow (2), cốc (2), extensions (2), change (2), wikibooks (2), 9218 (2), prioritization (2), scheme (2), 2016 (2), deprecate (2), 2818 (2), rfc7230 (2), 8740 (2), peon (2), thomson (2), networking (2), bis (2), administrator (2), httpwg (2), gettys (2), mogul (2), 1998 (2), compliant (2), august (2), 1990 (2), who (2), berner (2), john (2), adobe (2), reilly (2), rails (2), public (2), apps (2), snell (2), 10008 (2), research (2), march (2), 2002 (2), uris (2), masinter (2), rfc9112 (2), httpd (2), 7541 (2), rfc9113 (2), issue (2), within (2), cite (2), chen (2), protection (2), verification (2), 2020 (2), community (2), past (2), 2024 (2), caniuse (2), tables (2), html5 (2), css3 (2), informational (2), mark (2), report (2), popular (2), specially (2), pair (2), concurrent (2), served (2), once (2), notes (2), computer (2), variant (2), capability (2), peer (2), hypermedia (2), section (2), disabled (2), widespread (2), commonly (2), agents (2), did (2), hosts (2), implements (2), higher (2), deprecation (2), need (2), aspects (2), eventually (2), taken (2), various (2), including (2), revise (2), write (2), generation (2), enable (2), final (2), revision (2), next (2), much (2), having (2), documented (2), operations (2), included (2), plain (2), retrieve (2), his (2), designed (2), help (2), 1989 (2), development (2), comments (2), red (2), gmt (2), modified (2), mandatory (2), missing (2), implementations (2), beginning (2), current (2), indicates (2), certain (2), portions (2), clear (2), limitations (2), terminator (2), image (2), terminated (2), sharing (2), while (2), dns (2), carriage (2), phrases (2), recommendations (2), allowed (2), equivalent (2), attempt (2), readable (2), complete (2), successful (2), three (2), digit (2), disposition (2), satisfy (2), understand (2), class (2), pass (2), beyond (2), acting (2), modifiers (2), give (2), meaning (2), 400 (2), bad (2), optionally (2), character (2), reuse (2), possible (2), result (2), consequences (2), times (2), desired (2), occur (2), given (2), click (2), being (2), ignored (2), set (2), endpoint (2), recorded (2), similarly (2), deleted (2), beta (2), urls (2), automatically (2), handling (2), crawlers (2), payload (2), save (2), specific (2), establish (2), origin (2), identified (2), proxies (2), distinction (2), location (2), retrieving (2), entire (2), principles (2), sensitive (2), identifies (2), sometimes (2), performed (2), well (2), limit (2), existing (2), implementation (2), containing (2), compatibility (2), customer (2), 123 (2), continuation (2), limits (2), colon (2), whitespace (2), match (2), term (2), ascii (2), contains (2), zero (2), level (2), describes (2), frames (2), establishing (2), string (2), stateless (2), download (2), know (2), advance (2), manage (2), optimizations (2), pipelined (2), removed (2), reused (2), slow (2), exchanged (2), sends (2), reliable (2), top (2), unreliable (2), enabled (2), almost (2), down (2), blocking (2), whenever (2), accessed (2), hyperlinks (2), hop (2), improve (2), appearance (2), english (2), norsk (2), bahasa (2), беларуская (2), donate (2), menu (2), statement, conduct, contacts, disclaimers, apply, you, agree, registered, trademark, profit, organization, creative, attribution, sharealike, license, rendered, parsoid, edited, utc, module, annotated, needing, november, 2025, pending, protected, established, index, php, oldid, 1375364057, yale, lux, israel, bnf, france, united, states, national, gnd, authority, progressive, rich, dynamic, static, solution, stack, graphql, rest, microservices, frontend, backend, idl, mashup, hydration, cors, cross, dhtml, remote, ajax, webusb, sql, gears, webcl, khronos, webxr, webauthn, svg, mse, geolocation, eme, xmlhttprequest, worker, messaging, video, sse, canvas, audio, whatwg, xbap, bho, activex, nacl, ppapi, npruntime, xpconnect, liveconnect, npapi, webhook, roa, woa, phusion, passenger, mod_ruby, mod_wsgi, mod_python, mod_proxy, mod_php, mod_perl, mod_parrot, mod_mono, mod_lisp, mod_jk, mod_include, modules, portlet, perl, psgi, jsgi, ruby, rack, asgi, wsgi, net, handler, cli, owin, jakarta, servlet, isapi, asapi, nsapi, wsrp, ajp, fcgi, scgi, cgi, interfaces, ymsgr, rsync, magnet, ldaps, irc6, ircs, finger, ed2k, coffee, wss, urn, sips, nfs, mailto, info, geo, crid, acct, hreview, hrecipe, hproduct, hcard, hcalendar, hatom, microformat, skos, sioc, schema, foaf, mads, mods, dublin, doap, bibo, bibframe, facebook, platform, sawsdl, rdfa, microformats, microdata, grddl, coins, annotation, shacl, interchange, rdfs, owl, schemas, rules, sparql, rrid, trix, notation3, trig, turtle, json, iri, technologies, trust, map, humanities, reasoning, management, extraction, ixbrl, geotagging, folksonomy, collective, intelligence, solid, oriented, reasoner, publishing, matching, mapper, computing, analytics, linked, hyperdata, dataspaces, background, winwap, vision, thunderhawk, skyfire, skweezer, netscape, netpositive, mosaic, kidzui, ibrowse, webexplorer, home, reader, hotjava, gazelle, elinks, deepfish, cake, blazer, arena, arachne, amaya, abaco, xombrero, webpositive, uzbl, surf, steel, shiira, qtweb, origyn, coast, omniweb, nokia, symbian, mercury, iris, fluid, dolphin, bolt, arora, zac, spacetime, netcaptor, neoplanet, program, viewer, mediabrowser, greenbrowser, deepnet, aol, mshtml, timberwolf, tenfourfox, swiftfox, strata, pogo, piratebrowser, minimo, microb, lotus, kylo, kazehakase, icedragon, ghostzilla, galeon, lite, conkeror, classilla, camino, beonex, torch, sputnik, salamweb, rockmelt, redcore, flock, citrio, beaker, w3m, mini, netsurf, lynx, ladybird, eww, dillo, qutebrowser, netfront, lunascape, konqueror, duckduckgo, 360, multi, engine, orion, icab, gnome, safari, pale, moon, meleon, basilisk, goanna, zen, tor, unnamed, fork, seamonkey, slimbrowser, mullvad, midori, librewolf, gnu, icecat, floorp, ungoogled, supermium, otter, falkon, dooble, brave, foss, yandex, whale, vivaldi, srware, sleipnir, silk, samsung, puffin, microsoft, maxthon, huawei, epic, ecosia, comodo, comet, avast, atlas, arc, proprietary, active, ocsp, third, party, css, bookmarks, designing, detailed, github, book, oku, pardue, rfc9218, krasic, frindell, rfc9204, rfc9111, rfc9114, matt, menke, groups, intent, remove, 2617, rfc7235, rfc7234, lafon, rfc7233, rfc7232, rfc7231, 2145, 8615, belshe, rfc7540, ilya, grigorik, surma, performance, introduction, iesg, secretary, recharter, rechartering, dev, experimental, datatracker, charter, rfc2068, webcom, plans, bio, daemon, livinginternet, invention, invented, robert, cailliau, luotonen, ari, franks, february, cantrell, christian, 2017, 2018, blogs, learned, ediger, brad, 188, mistake, came, eye, 596, 51972, advanced, building, industrial, strength, record, rfc10008, dusseault, rfc5789, cert, vulnerability, 150227, configurations, jacobs, ian, 2004, finding, addressability, 6585, 6266, 5785, leach, rfc2616, 090502, apacheweek, week, parsing, overview, ruellan, rfc7541, bug, 276813, rfe, 4527, upgrading, zalewski, michal, handbook, canavan, 2001, norwood, artech, house, 58053, 176, fundamentals, wei, bin, hsing, bai, chang, shun, shyan, tzung, her, e3857, 59524143, s2cid, 1002, dac, 3857, journal, self, david, gourley, brian, totty, marjorie, sayer, anshu, aggarwal, sailu, reddy, 56592, 509, definitive, guide, excerpt, chapter, 3864, 7694, 7615, 7538, metrics, fast, nightly, supports, blog, cimpanu, catalin, zdnet, 8447, friedl, popov, langley, stephan, july, 7301, rfc7301, benfield, rfc1945, 1738, 8820, 7320, 6874, 1808, 2396, 2732, 3986, rfc3986, generic, roy, julian, late, those, too, deploy, sort, thus, greatly, reducing, multiplex, cellular, wireless, optimizing, object, architectural, style, representational, built, addressable, distribution, interplanetary, negotiating, credentials, specialized, constrained, introducing, minor, adopt, standardized, completely, unclear, take, decommission, 2000, hardware, routers, lacks, nowadays, minimal, product, managers, begun, planning, gradually, dismiss, mainly, selection, inspection, appear, fact, badly, constructed, caused, failing, encode, ought, disable, appendix, six, obsoleting, considering, deciding, derive, quickly, adopted, slowly, tests, indeed, integrated, ideas, sources, firstly, clarify, secondly, refine, resuming, plan, formed, develop, proposals, produced, transactions, inside, stopped, activity, passing, improvements, rapid, company, reported, accessing, products, upcoming, far, solved, remaining, performances, low, completed, publish, revisions, timeline, lasted, year, decided, fully, led, constituted, aim, standardize, expand, richer, meta, tied, became, adding, evolution, towards, preceded, 700, formats, went, live, namely, team, credited, inventing, along, associated, idea, project, now, initiated, summarized, describing, behavior, subsequently, becoming, coordinated, effort, moving, interface, inspired, mandates, alternative, superseded, delivery, displaced, 1990s, hello, 3f80f, 1b6, 3e1cb03b, unix, hat, linux, wed, jan, 2003, 155, charset, utf, mon, date, 200, informs, algorithm, chunk, omitted, continued, until, socket, determine, conveyed, publishes, ability, means, immediately, webserver, results, ending, sequences, represented, stream, characters, shorted, shows, clearly, representing, deflate, xhtml, avif, webp, distinguishes, demonstrates, representations, localized, display, nature, interpret, though, unwise, explicitly, machine, human, failed, fulfill, apparently, valid, 5xx, cannot, fulfilled, able, 4xx, 3xx, redirection, successfully, understood, 2xx, continuing, 1xx, decimal, integer, handles, primarily, secondarily, reports, indicated, treat, unrecognized, x00, classes, follows, refined, separated, stored, enforced, perfectly, insert, triggered, against, undesirable, assumes, repeating, necessarily, accidentally, inadvertently, clicking, button, again, feedback, processed, show, warn, reloading, submit, submitted, alert, dialog, boxes, emails, trivially, whatsoever, meanwhile, successive, instance, correctly, ask, duplicate, idempotence, occurring, during, lived, prefetched, viewing, causing, records, altered, suspended, weeks, release, criticism, masse, despite, prescribed, technically, careless, deliberately, irregular, programming, cause, trivial, discouraged, automated, unintended, deletion, arbitrarily, fetched, simply, coded, malicious, bots, 1234, engines, conforming, conform, tend, regard, context, robots, seen, appending, charging, advertising, enclosed, manner, repeated, concern, according, compared, additions, intermediaries, debugging, check, functionality, requesting, intermediary, tunnel, update, posting, subscribing, completing, online, shopping, mailing, forum, checking, getting, making, preferred, enables, bookmarking, makes, eligible, guidance, saying, informed, relevant, needed, addressed, insensitive, informally, classify, listing, unlink, five, combination, unknown, treated, unsafe, breaking, infrastructure, seven, purpose, verb, structures, operating, depends, corresponds, output, executable, running, path, maintain, parameters, procedure, expected, split, starting, tab, impose, practical, 8190, 100, formatted, separator, around, leading, trailing, unlike, exactly, matched, ignoring, word, capitalized, examples, identification, anonymity, thereof, vpn, masking, spoofing, age, resided, shared, downloaded, global, track, mean, describe, particular, referred, modern, documentation, marks, empty, below, structured, differs, layout, highest, followed, replaced, several, pseudo, parts, colors, purple, green, exist, nearly, existent, realms, construct, dividing, realm, combined, canonical, component, define, scopes, mechanisms, described, belong, operate, whereby, interactive, kind, custom, logout, login, retain, duration, variables, resume, interrupted, large, visible, spare, streamed, chunks, reliably, better, assume, premature, leave, yet, changed, entirety, lag, waiting, optimization, really, transparent, placed, discarding, saw, out, command, struggling, enabling, feature, intranets, perceptibly, negotiate, positive, becomes, handshake, tries, listening, accepts, waits, upon, receiving, back, either, closing, advertised, requires, unencrypted, 443, channels, numbers, ports, presumes, choice, prior, reliability, earlier, adapted, situations, forming, httpmu, httpu, ssdp, run, local, area, discovery, upnp, unicast, multicast, datagram, transmission, partially, lower, loads, backwards, alpn, newer, builds, slightly, improves, average, avoids, occasional, temporarily, block, congestion, forcing, periodically, polling, bidirectional, broken, transmitted, small, packets, solve, holb, domain, textual, enhancements, speeds, adds, images, experience, establishment, presents, considerable, overhead, especially, conditions, stylesheets, scripts, every, revised, covers, primary, coverage, cover, detail, located, interlinked, locator, nodes, caches, accomplish, functions, whereas, permit, elements, benefit, deliver, behalf, previously
Text of the page (random words):
41 http 2 hpack header compression rfc 8164 http 2 opportunistic security for http 2 rfc 8336 http 2 the origin http 2 frame rfc 8441 http 2 bootstrapping websockets with http 2 rfc 9114 http 3 rfc 9204 http 3 qpack field compression developed by initially cern ietf w3c introduced 1991 35 years ago 1991 website httpwg org specs http persistence compression https quic request methods options get head post put delete trace connect patch query header fields cookie etag location http referer dnt x forwarded for upgrade response status codes 301 moved permanently 302 found 303 see other 403 forbidden 404 not found 451 unavailable for legal reasons security access control methods basic access authentication digest access authentication security vulnerabilities http header injection http request smuggling http response splitting http parameter pollution v t e internet protocol suite application layer bgp dhcp v6 dns ftp http http 3 https imap ipp irc ldap mgcp mqtt nntp ntp ospf pop ptp onc rpc rtp rtsp rip sip smtp snmp ssh telnet tls ssl xmpp more transport layer tcp udp dccp sctp rsvp quic more internet layer ip v4 v6 icmp v6 ndp ecn l4s igmp ipsec more link layer arp tunnels ppp mac more v t e http hypertext transfer protocol is an application layer protocol in the internet protocol suite for distributed collaborative hypermedia information systems 1 http is the foundation of data communication for the world wide web where hypertext documents include hyperlinks to other resources that the user can easily access for example by a mouse click or by tapping the screen in a web browser http is a request response protocol in the client server model a transaction starts with a client submitting a request to the server the server attempts to satisfy the request and returns a response to the client that describes the disposition of the request and optionally contains a requested resource such as an html document or other content in a common scenario a web browser acts as the client and a web server hosting one or more websites is the server a web browser is an example of a user agent ua other types of user agent include the indexing software used by search providers web crawlers voice browsers mobile apps and other software that accesses consumes or displays web content http is designed to permit intermediate network elements to improve or enable communications between clients and servers high traffic websites often benefit from web cache servers that deliver content on behalf of upstream servers to improve response time web browsers cache previously accessed web resources and reuse them whenever possible to reduce network traffic http proxy servers at private network boundaries can facilitate communication for clients without a globally routable address by relaying messages with external servers to allow intermediate http nodes proxy servers web caches etc to accomplish their functions some of the http headers found in http requests responses are managed hop by hop whereas other http headers are managed end to end managed only by the source client and by the target web server a web resource is located by a uniform resource locator url using the uniform resource identifier uri schemes http and https uris are encoded as hyperlinks in html documents so as to form interlinked hypertext documents 2 versions edit see also cern httpd the protocol has been revised over time a version is identified as http where is the version number this article covers aspects of all versions but provides primary coverage for http 0 9 http 1 0 and http 1 1 separate articles cover http 2 and http 3 in detail version introduced status 0 9 1991 obsolete 1 0 1996 obsolete 1 1 1997 standard 2 2015 standard 3 2022 standard in http 1 0 a separate tcp connection to the same server is made for every resource request 3 1 3 in http 1 1 instead a tcp connection can be reused to make multiple resource requests i e of html pages frames images scripts stylesheets etc 4 9 1 9 3 http 1 1 communications therefore experience less latency as the establishment of tcp connections presents considerable overhead especially under high traffic conditions 5 enhancements added with http 2 allow for less latency and in most cases higher speeds than http 1 1 communications http 2 adds support for a compressed binary representation of metadata http headers instead of a textual one so that headers require much less space a single tcp ip usually encrypted connection per accessed server domain instead of 2 to 8 tcp ip connections one or more bidirectional streams per tcp ip connection in which http requests and responses are broken down and transmitted in small packets to almost solve the problem of the holb head of line blocking note 1 a push capability to allow server application to send data to clients whenever new data is available without forcing clients to request periodically new data to server by using polling methods 6 2 http 3 uses quic udp transport protocols instead of tcp only the ip layer is used which udp like tcp builds on this slightly improves the average speed of communications and avoids the occasional problem of tcp connection congestion that can temporarily block or slow down the data flow of all its streams another form of head of line blocking use edit http 2 is supported by 71 of websites 7 8 34 1 http 2 36 9 http 3 with backwards compatibility and supported by almost all web browsers over 98 of users 9 it is also supported by major web servers over transport layer security tls using an application layer protocol negotiation alpn extension 10 where tls 1 2 or newer is required 6 http 3 is used on 40 of websites 11 and is supported by most web browsers i e at least partially supported by 97 of users 12 http 3 uses quic instead of tcp for the underlying transport protocol like http 2 it does not obsolete previous major versions of the protocol in 2019 support for http 3 was first added to cloudflare and chrome 13 14 and also enabled in firefox 15 http 3 has lower latency for real world web pages and loads faster than http 2 in some cases over three times faster than http 1 1 which is still commonly the only protocol enabled 16 https the secure variant of http is used by 90 1 of websites 17 technology edit transport layer edit http presumes an underlying and reliable transport layer protocol 18 3 3 the standard choice of the underlying protocol prior to http 3 is transmission control protocol tcp http 3 uses a different transport layer called quic which provides reliability on top of the unreliable user datagram protocol udp http 1 1 and earlier have been adapted to be used over plain unreliable udp in multicast and unicast situations forming httpmu and httpu they are used in upnp and simple service discovery protocol ssdp two protocols usually run on a local area network data exchange edit http is a stateless application level protocol and it requires a reliable network transport connection to exchange data between client and server 19 in http implementations tcp ip connections are used using well known ports typically port 80 if the connection is unencrypted or port 443 if the connection is encrypted see also list of tcp and udp port numbers 18 4 2 1 4 2 2 in http 2 a tcp ip connection plus multiple protocol channels are used in http 3 the application transport protocol quic over udp is used request and response messages through connections edit data is exchanged through a sequence of request response messages which are exchanged by a session layer transport connection 19 an http client initially tries to establish a connection real or virtual with a server an http server listening on the port accepts the connection and then waits for a client s request message the client sends its http request message upon receiving the request the server sends back an http response message which includes header s plus a body if it is required the body of this response message is typically the requested resource although an error message or other information may also be returned at any time and for many reasons either the client or server can close the connection closing a connection is usually advertised by one or more http headers in the last request or response 4 9 1 persistent connections edit main article http persistent connection in http 0 9 the tcp ip connection is always closed after server response has been sent so it is never persistent in http 1 0 the tcp ip connection should always be closed by server after a response has been sent 3 note 2 in http 1 1 a keep alive mechanism was officially introduced so that a connection could be reused for more than one request response such persistent connections reduce request latency perceptibly because the client does not need to re negotiate the tcp 3 way handshake connection after the first request has been sent another positive side effect is that in general the connection becomes faster with time due to tcp s slow start mechanism http 1 1 added also http pipelining in order to further reduce lag time when using persistent connections by allowing clients to send multiple requests before waiting for each response this optimization was never considered really safe because a few web servers and many proxy servers specially transparent proxy servers placed in internet intranets between clients and servers did not handle pipelined requests properly they served only the first request discarding the others they closed the connection because they saw more data after the first request or some proxies even returned responses out of order etc because of this only head and some get requests i e limited to real file requests and so with urls without query string used as a command etc could be pipelined in a safe and idempotent mode after many years of struggling with the problems introduced by enabling pipelining this feature was first disabled and then removed from most browsers pipelining was also removed because of the announced adoption of http 2 http 2 extended the usage of persistent connections by multiplexing many concurrent requests responses through a single tcp ip connection http 3 does not use tcp ip connections but quic udp content retrieval optimizations edit in http 0 9 a requested resource was always sent in its entirety http 1 0 added headers to manage resources cached by a client in order to allow conditional get requests a server must return the entire content of the requested resource only if its last modified time is not known by the client or if it changed since the last full response to a get request header content encoding was added to specify whether the returned content is compressed if the size of the content is not known in advance i e because it is dynamically generated then the header content length would not be included the client would assume that transfer was complete when the connection closed but a premature close would leave the client with partial content yet the client would not know it s partial http 1 1 introduced and later versions provide headers to better manage the conditional retrieval of cached resources chunked transfer encoding allows content to be streamed in chunks in order to reliably send it even when the server does not know its length in advance i e because it is dynamically generated etc byte range serving allows a client to request portions ranges of bytes of a resource this is useful to resume an interrupted download when a file is very large when only a part of a content has to be shown or dynamically added to the already visible part by a browser i e only the first or the following n comments of a web page in order to spare time bandwidth and system resources etc application session edit as a stateless protocol http does not require the web server to retain information or status about each user for the duration of multiple requests if a web application needs an application session it implements it via http cookies 21 hidden variables in a web form or another mechanism typically to start a session an interactive login is performed and to end a session a logout is requested by the user these kind of operations use a custom authentication mechanism not http authentication authentication edit http provides multiple authentication schemes such as basic access authentication and digest access authentication which operate via a challenge response mechanism whereby the server identifies and issues a challenge before serving the requested content http provides a general framework for access control and authentication via an extensible set of challenge response authentication schemes which can be used by a server to challenge a client request and by a client to provide authentication information 18 the authentication mechanisms described above belong to the http protocol and are managed by client and server http software if configured to require authentication before allowing client access to one or more web resources and not by the web applications using an application session the http authentication specification includes realms that provide an arbitrary implementation specific construct for further dividing resources common to a given root uri the realm value string if present is combined with the canonical root uri to form the protection space component of the challenge this in effect allows the server to define separate authentication scopes under one root uri 1 encrypted connection edit the most popular way of establishing an encrypted http connection is https 22 two other methods for establishing an encrypted http connection also exist secure hypertext transfer protocol and using the http 1 1 upgrade header to specify an upgrade to tls browser support for these two is however nearly non existent 23 24 25 message format edit an http 1 1 request made using telnet the parts of the transaction are shown in different colors request in red response header in purple and response body in green this section describes messages for http 1 1 later versions http 2 26 and http 3 use a binary protocol where headers are encoded in a single headers and zero or more continuation frames using hpack 27 http 2 or qpack http 3 which both provide efficient header compression the request or response line from http 1 has also been replaced by several pseudo header fields each beginning with a colon at the highest level a message consists of a header followed by a body header edit a header consists of lines of ascii text each terminated with a carriage return and line feed sequence the layout for both a request and a response header is start line structured data that differs for request vs response header fields zero or more header field lines at least 1 for http 1 1 see below empty line marks the end of the header body edit a body consists of data in any format not limited to ascii the format must match that specified by the content type header field if the message contains one a body is optional or ...
|