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):
es 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 in other words can be blank entity edit before http 2 the term entity was used to mean the body plus header fields that describe the body in particular not all headers were considered part of the entity the term entity header referred to a header that was considered part of the entity and sometimes the body was called the entity body modern documentation uses body and header without using entity header field edit see also list of http header fields a header field represents metadata about the containing message examples include how the body is encoded via content encoding session verification and identification of the client as in browser cookies ip address user agent or their anonymity thereof vpn or proxy masking user agent spoofing how the server should handle data as in do not track or global privacy control and the age the time it has resided in a shared cache of the document being downloaded generally the information of a header field is used by software and not shown to the user a header field line is formatted as a name value pair with a colon separator whitespace is not allowed around the name but leading and trailing whitespace is ignored for the value part unlike a method name that must match exactly case sensitive 28 a header field name is matched ignoring case although often shown with each word capitalized 29 for example the following are header fields for host and accept language host www example com accept language en the standards do not limit the size of a header field or the number of fields in a message however most servers clients and proxy software impose limits for practical and security reasons for example the apache 2 3 server by default limits the size of each field to 8190 bytes and there can be at most 100 header fields in a single request 30 although deprecated by rfc 7230 31 in the past long lines could be split into multiple lines with a continuation line starting with a space or tab character request edit a request is sent by a client to a server the start line includes a method name a request uri and the protocol version with a single space between each field 32 the following request start line specifies method get uri customer 123 and protocol version http 1 1 get customer 123 http 1 1 request heade...
|