CINXE.COM

HTTP compression - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>HTTP compression - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"5b314a76-ea6b-418a-b812-1ad8439b22f0","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"HTTP_compression","wgTitle":"HTTP compression","wgCurRevisionId":1241507032,"wgRevisionId":1241507032,"wgArticleId":4954757,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles with short description","Short description is different from Wikidata","Webarchive template wayback links","Web development","Lossless compression algorithms","Hypertext Transfer Protocol"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"HTTP_compression","wgRelevantArticleId":4954757,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[], "wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q3495340","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false, "wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.pygments.view","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader", "ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/HTTP_logo.svg/1200px-HTTP_logo.svg.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="642"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/HTTP_logo.svg/800px-HTTP_logo.svg.png"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="428"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/HTTP_logo.svg/640px-HTTP_logo.svg.png"> <meta property="og:image:width" content="640"> <meta property="og:image:height" content="343"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="HTTP compression - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/HTTP_compression"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=HTTP_compression&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/HTTP_compression"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-HTTP_compression rootpage-HTTP_compression skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=HTTP+compression" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=HTTP+compression" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=HTTP+compression" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=HTTP+compression" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Compression_scheme_negotiation" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Compression_scheme_negotiation"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Compression scheme negotiation</span> </div> </a> <ul id="toc-Compression_scheme_negotiation-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Content-Encoding_tokens" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Content-Encoding_tokens"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Content-Encoding tokens</span> </div> </a> <ul id="toc-Content-Encoding_tokens-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Servers_that_support_HTTP_compression" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Servers_that_support_HTTP_compression"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Servers that support HTTP compression</span> </div> </a> <ul id="toc-Servers_that_support_HTTP_compression-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Problems_preventing_the_use_of_HTTP_compression" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Problems_preventing_the_use_of_HTTP_compression"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Problems preventing the use of HTTP compression</span> </div> </a> <ul id="toc-Problems_preventing_the_use_of_HTTP_compression-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Security_implications" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Security_implications"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Security implications</span> </div> </a> <ul id="toc-Security_implications-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">HTTP compression</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 6 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-6" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">6 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Komprese_HTTP" title="Komprese HTTP – Czech" lang="cs" hreflang="cs" data-title="Komprese HTTP" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol#HTTP-Kompression" title="Hypertext Transfer Protocol – German" lang="de" hreflang="de" data-title="Hypertext Transfer Protocol" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Compresi%C3%B3n_HTTP" title="Compresión HTTP – Spanish" lang="es" hreflang="es" data-title="Compresión HTTP" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/HTTP_%EC%95%95%EC%B6%95" title="HTTP 압축 – Korean" lang="ko" hreflang="ko" data-title="HTTP 압축" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/HTTP_kompresija" title="HTTP kompresija – Serbian" lang="sr" hreflang="sr" data-title="HTTP kompresija" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/HTTP%E5%8E%8B%E7%BC%A9" title="HTTP压缩 – Chinese" lang="zh" hreflang="zh" data-title="HTTP压缩" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q3495340#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/HTTP_compression" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:HTTP_compression" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/HTTP_compression"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=HTTP_compression&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=HTTP_compression&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/HTTP_compression"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=HTTP_compression&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=HTTP_compression&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/HTTP_compression" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/HTTP_compression" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=HTTP_compression&amp;oldid=1241507032" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=HTTP_compression&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=HTTP_compression&amp;id=1241507032&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHTTP_compression"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHTTP_compression"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=HTTP_compression&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=HTTP_compression&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q3495340" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Capability that can be built into web servers and web clients</div> <style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1246091330">.mw-parser-output .sidebar{width:22em;float:right;clear:right;margin:0.5em 0 1em 1em;background:var(--background-color-neutral-subtle,#f8f9fa);border:1px solid var(--border-color-base,#a2a9b1);padding:0.2em;text-align:center;line-height:1.4em;font-size:88%;border-collapse:collapse;display:table}body.skin-minerva .mw-parser-output .sidebar{display:table!important;float:right!important;margin:0.5em 0 1em 1em!important}.mw-parser-output .sidebar-subgroup{width:100%;margin:0;border-spacing:0}.mw-parser-output .sidebar-left{float:left;clear:left;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-none{float:none;clear:both;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-outer-title{padding:0 0.4em 0.2em;font-size:125%;line-height:1.2em;font-weight:bold}.mw-parser-output .sidebar-top-image{padding:0.4em}.mw-parser-output .sidebar-top-caption,.mw-parser-output .sidebar-pretitle-with-top-image,.mw-parser-output .sidebar-caption{padding:0.2em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-pretitle{padding:0.4em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-title,.mw-parser-output .sidebar-title-with-pretitle{padding:0.2em 0.8em;font-size:145%;line-height:1.2em}.mw-parser-output .sidebar-title-with-pretitle{padding:0.1em 0.4em}.mw-parser-output .sidebar-image{padding:0.2em 0.4em 0.4em}.mw-parser-output .sidebar-heading{padding:0.1em 0.4em}.mw-parser-output .sidebar-content{padding:0 0.5em 0.4em}.mw-parser-output .sidebar-content-with-subgroup{padding:0.1em 0.4em 0.2em}.mw-parser-output .sidebar-above,.mw-parser-output .sidebar-below{padding:0.3em 0.8em;font-weight:bold}.mw-parser-output .sidebar-collapse .sidebar-above,.mw-parser-output .sidebar-collapse .sidebar-below{border-top:1px solid #aaa;border-bottom:1px solid #aaa}.mw-parser-output .sidebar-navbar{text-align:right;font-size:115%;padding:0 0.4em 0.4em}.mw-parser-output .sidebar-list-title{padding:0 0.4em;text-align:left;font-weight:bold;line-height:1.6em;font-size:105%}.mw-parser-output .sidebar-list-title-c{padding:0 0.4em;text-align:center;margin:0 3.3em}@media(max-width:640px){body.mediawiki .mw-parser-output .sidebar{width:100%!important;clear:both;float:none!important;margin-left:0!important;margin-right:0!important}}body.skin--responsive .mw-parser-output .sidebar a>img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media print{body.ns-0 .mw-parser-output .sidebar{display:none!important}}</style><table class="sidebar nomobile nowraplinks hlist"><tbody><tr><th class="sidebar-title"><a href="/wiki/HTTP" title="HTTP">HTTP</a></th></tr><tr><td class="sidebar-image"><span typeof="mw:File"><a href="/wiki/File:HTTP_logo.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/5/5b/HTTP_logo.svg/180px-HTTP_logo.svg.png" decoding="async" width="180" height="96" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/5/5b/HTTP_logo.svg/270px-HTTP_logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/5/5b/HTTP_logo.svg/360px-HTTP_logo.svg.png 2x" data-file-width="512" data-file-height="274" /></a></span></td></tr><tr><td class="sidebar-content"> <ul><li><a href="/wiki/HTTP_persistent_connection" title="HTTP persistent connection">Persistence</a></li> <li><a class="mw-selflink selflink">Compression</a></li> <li><a href="/wiki/HTTPS" title="HTTPS">HTTPS</a></li> <li><a href="/wiki/QUIC" title="QUIC">QUIC</a></li></ul></td> </tr><tr><th class="sidebar-heading"> <a href="/wiki/HTTP#Request_methods" title="HTTP">Request methods</a></th></tr><tr><td class="sidebar-content"> <ul><li><a href="/wiki/HTTP#Request_methods" title="HTTP">OPTIONS</a></li> <li><a href="/wiki/HTTP#Request_methods" title="HTTP">GET</a></li> <li><a href="/wiki/HTTP#Request_methods" title="HTTP">HEAD</a></li> <li><a href="/wiki/POST_(HTTP)" title="POST (HTTP)">POST</a></li> <li><a href="/wiki/HTTP#Request_methods" title="HTTP">PUT</a></li> <li><a href="/wiki/HTTP#Request_methods" title="HTTP">DELETE</a></li> <li><a href="/wiki/HTTP#Request_methods" title="HTTP">TRACE</a></li> <li><a href="/wiki/HTTP#Request_methods" title="HTTP">CONNECT</a></li> <li><a href="/wiki/PATCH_(HTTP)" title="PATCH (HTTP)">PATCH</a></li></ul></td> </tr><tr><th class="sidebar-heading"> <a href="/wiki/List_of_HTTP_header_fields" title="List of HTTP header fields">Header fields</a></th></tr><tr><td class="sidebar-content"> <ul><li><a href="/wiki/HTTP_cookie" title="HTTP cookie">Cookie</a></li> <li><a href="/wiki/HTTP_ETag" title="HTTP ETag">ETag</a></li> <li><a href="/wiki/HTTP_location" title="HTTP location">Location</a></li> <li><a href="/wiki/HTTP_referer" title="HTTP referer">HTTP referer</a></li> <li><a href="/wiki/Do_Not_Track" title="Do Not Track">DNT</a></li> <li><a href="/wiki/X-Forwarded-For" title="X-Forwarded-For">X-Forwarded-For</a></li></ul></td> </tr><tr><th class="sidebar-heading"> <a href="/wiki/List_of_HTTP_status_codes" title="List of HTTP status codes">Response status codes</a></th></tr><tr><td class="sidebar-content"> <ul><li><a href="/wiki/HTTP_301" title="HTTP 301">301 Moved Permanently</a></li> <li><a href="/wiki/HTTP_302" title="HTTP 302">302 Found</a></li> <li><a href="/wiki/HTTP_303" title="HTTP 303">303 See Other</a></li> <li><a href="/wiki/HTTP_403" title="HTTP 403">403 Forbidden</a></li> <li><a href="/wiki/HTTP_404" title="HTTP 404">404 Not Found</a></li> <li><a href="/wiki/HTTP_451" title="HTTP 451">451 Unavailable for Legal Reasons</a></li></ul></td> </tr><tr><th class="sidebar-heading"> Security access control methods</th></tr><tr><td class="sidebar-content"> <ul><li><a href="/wiki/Basic_access_authentication" title="Basic access authentication">Basic access authentication</a></li> <li><a href="/wiki/Digest_access_authentication" title="Digest access authentication">Digest access authentication</a></li></ul></td> </tr><tr><th class="sidebar-heading"> Security vulnerabilities</th></tr><tr><td class="sidebar-content"> <ul><li><a href="/wiki/HTTP_header_injection" title="HTTP header injection">HTTP header injection</a></li> <li><a href="/wiki/HTTP_request_smuggling" title="HTTP request smuggling">HTTP request smuggling</a></li> <li><a href="/wiki/HTTP_response_splitting" title="HTTP response splitting">HTTP response splitting</a></li> <li><a href="/wiki/HTTP_parameter_pollution" title="HTTP parameter pollution">HTTP parameter pollution</a></li></ul></td> </tr><tr><td class="sidebar-navbar"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:HTTP" title="Template:HTTP"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:HTTP" title="Template talk:HTTP"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:HTTP" title="Special:EditPage/Template:HTTP"><abbr title="Edit this template">e</abbr></a></li></ul></div></td></tr></tbody></table> <p><b>HTTP compression</b> is a capability that can be built into <a href="/wiki/Web_server" title="Web server">web servers</a> and <a href="/wiki/Web_client" class="mw-redirect" title="Web client">web clients</a> to improve transfer speed and bandwidth utilization.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup> </p><p>HTTP data is <a href="/wiki/Data_compression" title="Data compression">compressed</a> before it is sent from the server: compliant browsers will announce what methods are supported to the server before downloading the correct format; browsers that do not support compliant compression method will download uncompressed data. The most common compression schemes include <a href="/wiki/Gzip" title="Gzip">gzip</a> and <a href="/wiki/Brotli" title="Brotli">Brotli</a>; a full list of available schemes is maintained by the <a href="/wiki/Internet_Assigned_Numbers_Authority" title="Internet Assigned Numbers Authority">IANA</a>.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> </p><p>There are two different ways compression can be done in HTTP. At a lower level, a Transfer-Encoding header field may indicate the payload of an HTTP message is compressed. At a higher level, a Content-Encoding header field may indicate that a resource being transferred, <a href="/wiki/Web_cache" title="Web cache">cached</a>, or otherwise referenced is compressed. Compression using Content-Encoding is more widely supported than Transfer-Encoding, and some browsers do not advertise support for Transfer-Encoding compression to avoid triggering bugs in servers.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Compression_scheme_negotiation">Compression scheme negotiation</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=HTTP_compression&amp;action=edit&amp;section=1" title="Edit section: Compression scheme negotiation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The negotiation is done in two steps, described in RFC 2616 and RFC 9110: </p><p>1. The <a href="/wiki/Web_client" class="mw-redirect" title="Web client">web client</a> advertises which compression schemes it supports by including a list of tokens in the <a href="/wiki/HTTP_request" class="mw-redirect" title="HTTP request">HTTP request</a>. For <i>Content-Encoding</i>, the list is in a field called <i>Accept-Encoding</i>; for <i>Transfer-Encoding</i>, the field is called <i>TE</i>. </p> <div class="mw-highlight mw-highlight-lang-http mw-content-ltr" dir="ltr"><pre><span></span><span class="nf">GET</span> <span class="nn">/encrypted-area</span> <span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span> <span class="na">Host</span><span class="o">:</span> <span class="l">www.example.com</span> <span class="hll"><span class="na">Accept-Encoding</span><span class="o">:</span> <span class="l">gzip, deflate</span> </span></pre></div> <p>2. If the server supports one or more compression schemes, the outgoing data may be compressed by one or more methods supported by both parties. If this is the case, the server will add a <i>Content-Encoding</i> or <i>Transfer-Encoding</i> field in the HTTP response with the used schemes, separated by commas. </p> <div class="mw-highlight mw-highlight-lang-http mw-content-ltr" dir="ltr"><pre><span></span><span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span> <span class="m">200</span> <span class="ne">OK</span> <span class="na">Date</span><span class="o">:</span> <span class="l">mon, 26 June 2016 22:38:34 GMT</span> <span class="na">Server</span><span class="o">:</span> <span class="l">Apache/1.3.3.7 (Unix) (Red-Hat/Linux)</span> <span class="na">Last-Modified</span><span class="o">:</span> <span class="l">Wed, 08 Jan 2003 23:11:55 GMT</span> <span class="na">Accept-Ranges</span><span class="o">:</span> <span class="l">bytes</span> <span class="na">Content-Length</span><span class="o">:</span> <span class="l">438</span> <span class="na">Connection</span><span class="o">:</span> <span class="l">close</span> <span class="na">Content-Type</span><span class="o">:</span> <span class="l">text/html; charset=UTF-8</span> <span class="hll"><span class="na">Content-Encoding</span><span class="o">:</span> <span class="l">gzip</span> </span></pre></div> <p>The <a href="/wiki/Web_server" title="Web server">web server</a> is by no means obligated to use any compression method&#160;– this depends on the internal settings of the web server and also may depend on the internal architecture of the website in question. </p> <div class="mw-heading mw-heading2"><h2 id="Content-Encoding_tokens">Content-Encoding tokens</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=HTTP_compression&amp;action=edit&amp;section=2" title="Edit section: Content-Encoding tokens"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The official list of tokens available to servers and client is maintained by IANA,<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> and it includes: </p> <ul><li>br – <a href="/wiki/Brotli" title="Brotli">Brotli</a>, a compression algorithm specifically designed for HTTP content encoding, defined in <style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style>RFC&#160;<a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc7932">7932</a> and implemented in all modern major browsers.</li> <li><a href="/wiki/Compress" class="mw-redirect" title="Compress">compress</a> – UNIX "compress" program method (historic; deprecated in most applications and replaced by gzip or deflate)</li> <li>deflate – compression based on the <a href="/wiki/DEFLATE" class="mw-redirect" title="DEFLATE">deflate</a> algorithm (described in <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222">RFC&#160;<a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc1951">1951</a>), a combination of the <a href="/wiki/LZ77_and_LZ78#LZ77" title="LZ77 and LZ78">LZ77</a> algorithm and Huffman coding, wrapped inside the <a href="/wiki/Zlib" title="Zlib">zlib</a> data format (<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222">RFC&#160;<a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc1950">1950</a>);</li> <li>exi – W3C <a href="/wiki/Efficient_XML_Interchange" title="Efficient XML Interchange">Efficient XML Interchange</a></li> <li><a href="/wiki/Gzip" title="Gzip">gzip</a> – GNU zip format (described in <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222">RFC&#160;<a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc1952">1952</a>). Uses the <a href="/wiki/DEFLATE" class="mw-redirect" title="DEFLATE">deflate</a> algorithm for compression, but the data format and the checksum algorithm differ from the "deflate" content-encoding. This method is the most broadly supported as of March 2011.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Identity_function" title="Identity function">identity</a> – No transformation is used. This is the default value for content coding.</li> <li><a href="/wiki/Pack200" title="Pack200">pack200-gzip</a> – Network Transfer Format for Java Archives<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Zstd" title="Zstd">zstd</a> – Zstandard compression, defined in <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222">RFC&#160;<a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc8478">8478</a></li></ul> <p>In addition to these, a number of unofficial or non-standardized tokens are used in the wild by either servers or clients: </p> <ul><li><a href="/wiki/Bzip2" title="Bzip2">bzip2</a> – compression based on the free bzip2 format, supported by <a href="/wiki/Lighttpd" title="Lighttpd">lighttpd</a><sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm" title="Lempel–Ziv–Markov chain algorithm">lzma</a> – compression based on (raw) LZMA is available in Opera 20, and in elinks via a compile-time option<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup></li> <li>peerdist<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> – Microsoft Peer Content Caching and Retrieval</li> <li><a href="/wiki/Rsync" title="Rsync">rsync</a><sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup> – <a href="/wiki/Delta_encoding#Delta_encoding_in_HTTP" title="Delta encoding">delta encoding in HTTP</a>, implemented by a pair of <i>rproxy</i> proxies.</li> <li>xpress – Microsoft compression protocol used by Windows&#160;8 and later for Windows Store application updates. <a href="/wiki/LZ77_and_LZ78#LZ77" title="LZ77 and LZ78">LZ77</a>-based compression optionally using a Huffman encoding.<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/XZ_Utils" title="XZ Utils">xz</a> – LZMA2-based content compression, supported by a non-official Firefox patch;<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup> and fully implemented in mget since 2013-12-31.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup></li></ul> <div class="mw-heading mw-heading2"><h2 id="Servers_that_support_HTTP_compression">Servers that support HTTP compression</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=HTTP_compression&amp;action=edit&amp;section=3" title="Edit section: Servers that support HTTP compression"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/SAP_NetWeaver" title="SAP NetWeaver">SAP NetWeaver</a></li> <li><a href="/wiki/Internet_Information_Services" title="Internet Information Services">Microsoft IIS</a>: built-in or using third-party module</li> <li><a href="/wiki/Apache_HTTP_Server" title="Apache HTTP Server">Apache HTTP Server</a>, via <b><a rel="nofollow" class="external text" href="https://httpd.apache.org/docs/current/mod/mod_deflate.html">mod_deflate</a></b> (despite its name, only supporting gzip<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup>), and <b><a rel="nofollow" class="external text" href="https://httpd.apache.org/docs/current/mod/mod_brotli.html">mod_brotli</a></b></li> <li><a href="/wiki/Hiawatha_(web_server)" title="Hiawatha (web server)">Hiawatha HTTP server</a>: serves pre-compressed files<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Cherokee_(Webserver)" class="mw-redirect" title="Cherokee (Webserver)">Cherokee HTTP server</a>, On the fly gzip and deflate compressions</li> <li><a href="/wiki/Oracle_iPlanet_Web_Server" title="Oracle iPlanet Web Server">Oracle iPlanet Web Server</a></li> <li><a href="/wiki/Zeus_Web_Server" title="Zeus Web Server">Zeus Web Server</a></li> <li><a href="/wiki/Lighttpd" title="Lighttpd">lighttpd</a></li> <li><a href="/wiki/Nginx" title="Nginx">nginx</a> – built-in</li> <li>Applications based on <a href="/wiki/Tornado_(web_server)" title="Tornado (web server)">Tornado</a>, if "compress_response" is set to True in the application settings (for versions prior to 4.0, set "gzip" to True)</li> <li><a href="/wiki/Jetty_(Web_server)" class="mw-redirect" title="Jetty (Web server)">Jetty Server</a> – built-into default static content serving and available via servlet filter configurations</li> <li><a href="/wiki/GeoServer" title="GeoServer">GeoServer</a></li> <li><a href="/wiki/Apache_Tomcat" title="Apache Tomcat">Apache Tomcat</a></li> <li><a href="/wiki/IBM_Websphere" class="mw-redirect" title="IBM Websphere">IBM Websphere</a></li> <li><a href="/wiki/AOLserver" title="AOLserver">AOLserver</a></li> <li><a href="/wiki/Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a> <a href="/wiki/Rack_(web_server_interface)" title="Rack (web server interface)">Rack</a>, via the <b>Rack::Deflater</b> middleware</li> <li><a href="/wiki/HAProxy" title="HAProxy">HAProxy</a></li> <li><a href="/wiki/Varnish_(software)" title="Varnish (software)">Varnish</a> – built-in. Works also with <a href="/wiki/Edge_Side_Includes" title="Edge Side Includes">ESI</a></li> <li><a rel="nofollow" class="external text" href="https://line.github.io/armeria/">Armeria</a> – Serving pre-compressed files<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/NaviServer" title="NaviServer">NaviServer</a> – built-in, dynamic and static compression</li> <li><a href="/wiki/Caddy_(web_server)" title="Caddy (web server)">Caddy</a> – built-in via <a rel="nofollow" class="external text" href="https://caddyserver.com/docs/caddyfile/directives/encode">encode</a></li></ul> <p>Many <a href="/wiki/Content_delivery_network" title="Content delivery network">content delivery networks</a> also implement HTTP compression to improve speedy delivery of resources to end users. </p><p>The compression in HTTP can also be achieved by using the functionality of <a href="/wiki/Server-side_scripting" title="Server-side scripting">server-side scripting</a> languages like <a href="/wiki/PHP" title="PHP">PHP</a>, or programming languages like <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a>. </p><p>Various online tools exist to verify a working implementation of HTTP compression. These online tools usually request multiple variants of a URL, each with different request headers (with varying Accept-Encoding content). HTTP compression is considered to be implemented correctly when the server returns a document in a compressed format.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup> By comparing the sizes of the returned documents, the effective compression ratio can be calculated (even between different compression algorithms). </p> <div class="mw-heading mw-heading2"><h2 id="Problems_preventing_the_use_of_HTTP_compression">Problems preventing the use of HTTP compression</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=HTTP_compression&amp;action=edit&amp;section=4" title="Edit section: Problems preventing the use of HTTP compression"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A 2009 article by Google engineers Arvind Jain and Jason Glasgow states that more than 99 person-years are wasted<sup id="cite_ref-google-use-compression_18-0" class="reference"><a href="#cite_note-google-use-compression-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup> daily due to increase in page load time when users do not receive compressed content. This occurs when anti-virus software interferes with connections to force them to be uncompressed, where proxies are used (with overcautious web browsers), where servers are misconfigured, and where browser bugs stop compression being used. Internet Explorer 6, which drops to HTTP 1.0 (without features like compression or pipelining) when behind a proxy&#160;– a common configuration in corporate environments&#160;– was the mainstream browser most prone to failing back to uncompressed HTTP.<sup id="cite_ref-google-use-compression_18-1" class="reference"><a href="#cite_note-google-use-compression-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup> </p><p>Another problem found while deploying HTTP compression on large scale is due to the <b>deflate</b> encoding definition: while HTTP 1.1 defines the <b>deflate</b> encoding as data compressed with deflate (RFC 1951) inside a <a href="/wiki/Zlib" title="Zlib">zlib</a> formatted stream (RFC 1950), Microsoft server and client products historically implemented it as a "raw" deflated stream,<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup> making its deployment unreliable.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">&#91;</span>20<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">&#91;</span>21<span class="cite-bracket">&#93;</span></a></sup> For this reason, some software, including the Apache HTTP Server, only implement <b>gzip</b> encoding. </p> <div class="mw-heading mw-heading2"><h2 id="Security_implications">Security implications</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=HTTP_compression&amp;action=edit&amp;section=5" title="Edit section: Security implications"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">Main articles: <a href="/wiki/CRIME" title="CRIME">CRIME</a> and <a href="/wiki/BREACH" title="BREACH">BREACH</a></div> <p>Compression allows a form of <a href="/wiki/Chosen_plaintext" class="mw-redirect" title="Chosen plaintext">chosen plaintext</a> attack to be performed: if an attacker can inject any chosen content into the page, they can know whether the page contains their given content by observing the size increase of the encrypted stream. If the increase is smaller than expected for random injections, it means that the compressor has found a repeat in the text, i.e. the injected content overlaps the secret information. This is the idea behind CRIME. </p><p>In 2012, a general attack against the use of data compression, called <a href="/wiki/CRIME" title="CRIME">CRIME</a>, was announced. While the CRIME attack could work effectively against a large number of protocols, including but not limited to TLS, and application-layer protocols such as SPDY or HTTP, only exploits against TLS and SPDY were demonstrated and largely mitigated in browsers and servers. The CRIME exploit against HTTP compression has not been mitigated at all, even though the authors of CRIME have warned that this vulnerability might be even more widespread than SPDY and TLS compression combined. </p><p>In 2013, a new instance of the CRIME attack against HTTP compression, dubbed BREACH, was published. A BREACH attack can extract login tokens, email addresses or other sensitive information from TLS encrypted web traffic in as little as 30 seconds (depending on the number of bytes to be extracted), provided the attacker tricks the victim into visiting a malicious web link.<sup id="cite_ref-Gooin20130801_22-0" class="reference"><a href="#cite_note-Gooin20130801-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup> All versions of TLS and SSL are at risk from BREACH regardless of the encryption algorithm or cipher used.<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup> Unlike previous instances of <a href="/wiki/CRIME_(security_exploit)" class="mw-redirect" title="CRIME (security exploit)">CRIME</a>, which can be successfully defended against by turning off TLS compression or SPDY header compression, BREACH exploits HTTP compression which cannot realistically be turned off, as virtually all web servers rely upon it to improve data transmission speeds for users.<sup id="cite_ref-Gooin20130801_22-1" class="reference"><a href="#cite_note-Gooin20130801-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup> </p><p>As of 2016, the TIME attack and the HEIST attack are now public knowledge.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">&#91;</span>24<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">&#91;</span>25<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">&#91;</span>26<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">&#91;</span>27<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=HTTP_compression&amp;action=edit&amp;section=6" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/d52ff289-94d3-4085-bc4e-24eb4f312e0e.mspx?mfr=true">"Using HTTP Compression (IIS 6.0)"</a>. Microsoft Corporation<span class="reference-accessdate">. Retrieved <span class="nowrap">9 February</span> 2010</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Using+HTTP+Compression+%28IIS+6.0%29&amp;rft.pub=Microsoft+Corporation&amp;rft_id=http%3A%2F%2Fwww.microsoft.com%2Ftechnet%2Fprodtechnol%2FWindowsServer2003%2FLibrary%2FIIS%2Fd52ff289-94d3-4085-bc4e-24eb4f312e0e.mspx%3Fmfr%3Dtrue&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text">RFC 2616, Section 3.5: "The Internet Assigned Numbers Authority (IANA) acts as a registry for content-coding value tokens."</span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://code.google.com/p/chromium/issues/detail?id=94730">'RFC2616 "Transfer-Encoding: gzip, chunked" not handled properly'</a>, <a href="/wiki/Chromium_(browser)" class="mw-redirect" title="Chromium (browser)">Chromium</a> Issue 94730</span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.iana.org/assignments/http-parameters/http-parameters.xhtml#content-coding">"Hypertext Transfer Protocol Parameters - HTTP Content Coding Registry"</a>. IANA<span class="reference-accessdate">. Retrieved <span class="nowrap">18 April</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Hypertext+Transfer+Protocol+Parameters+-+HTTP+Content+Coding+Registry&amp;rft.pub=IANA&amp;rft_id=https%3A%2F%2Fwww.iana.org%2Fassignments%2Fhttp-parameters%2Fhttp-parameters.xhtml%23content-coding&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20120321182910/http://www.vervestudios.co/projects/compression-tests/results">"Compression Tests: Results"</a>. Verve Studios, Co. Archived from <a rel="nofollow" class="external text" href="http://www.vervestudios.co/projects/compression-tests/results">the original</a> on 21 March 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">19 July</span> 2012</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Compression+Tests%3A+Results&amp;rft.pub=Verve+Studios%2C+Co&amp;rft_id=http%3A%2F%2Fwww.vervestudios.co%2Fprojects%2Fcompression-tests%2Fresults&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://jcp.org/en/jsr/detail?id=200">"JSR 200: Network Transfer Format for Java Archives"</a>. The Java Community Process Program.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=JSR+200%3A+Network+Transfer+Format+for+Java+Archives&amp;rft.pub=The+Java+Community+Process+Program&amp;rft_id=https%3A%2F%2Fjcp.org%2Fen%2Fjsr%2Fdetail%3Fid%3D200&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://redmine.lighttpd.net/projects/1/wiki/Docs_ModCompress">"ModCompress - Lighttpd"</a>. lighty labs<span class="reference-accessdate">. Retrieved <span class="nowrap">18 April</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=ModCompress+-+Lighttpd&amp;rft.pub=lighty+labs&amp;rft_id=http%3A%2F%2Fredmine.lighttpd.net%2Fprojects%2F1%2Fwiki%2FDocs_ModCompress&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://elinks.or.cz/documentation/html/manual.html-chunked/ch01s07.html#CONFIG-LZMA">elinks LZMA decompression</a></span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/en-us/library/dd304322%28v=PROT.10%29.aspx">"&#91;MS-PCCRTP&#93;: Peer Content Caching and Retrieval: Hypertext Transfer Protocol (HTTP) Extensions"</a>. Microsoft<span class="reference-accessdate">. Retrieved <span class="nowrap">19 April</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=%5BMS-PCCRTP%5D%3A+Peer+Content+Caching+and+Retrieval%3A+Hypertext+Transfer+Protocol+%28HTTP%29+Extensions&amp;rft.pub=Microsoft&amp;rft_id=http%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Fdd304322%2528v%3DPROT.10%2529.aspx&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://rproxy.samba.org/doc/protocol/protocol.html">"rproxy: Protocol Definition for HTTP rsync Encoding"</a>. <i>rproxy.samba.org</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=rproxy.samba.org&amp;rft.atitle=rproxy%3A+Protocol+Definition+for+HTTP+rsync+Encoding&amp;rft_id=https%3A%2F%2Frproxy.samba.org%2Fdoc%2Fprotocol%2Fprotocol.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://msdn.microsoft.com/en-us/library/Hh554002.aspx">"&#91;MS-XCA&#93;: Xpress Compression Algorithm"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">29 August</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=%5BMS-XCA%5D%3A+Xpress+Compression+Algorithm&amp;rft_id=https%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2FHh554002.aspx&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://wiki.mozilla.org/LZMA2_Compression">"LZMA2 Compression - MozillaWiki"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">18 April</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=LZMA2+Compression+-+MozillaWiki&amp;rft_id=https%3A%2F%2Fwiki.mozilla.org%2FLZMA2_Compression&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/rockdaboot/mget">"mget GitHub project page"</a>. <i><a href="/wiki/GitHub" title="GitHub">GitHub</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">6 January</span> 2017</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=GitHub&amp;rft.atitle=mget+GitHub+project+page&amp;rft_id=https%3A%2F%2Fgithub.com%2Frockdaboot%2Fmget&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://httpd.apache.org/docs/2.4/mod/mod_deflate.html#supportedencodings">"mod_deflate - Apache HTTP Server Version 2.4 - Supported Encodings"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=mod_deflate+-+Apache+HTTP+Server+Version+2.4+-+Supported+Encodings&amp;rft_id=http%3A%2F%2Fhttpd.apache.org%2Fdocs%2F2.4%2Fmod%2Fmod_deflate.html%23supportedencodings&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20160322103000/https://www.hiawatha-webserver.org/manpages">"Extra part of Hiawatha webserver's manual"</a>. Archived from <a rel="nofollow" class="external text" href="http://www.hiawatha-webserver.org/manpages">the original</a> on 2016-03-22<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-01-25</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Extra+part+of+Hiawatha+webserver%27s+manual&amp;rft_id=http%3A%2F%2Fwww.hiawatha-webserver.org%2Fmanpages&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://line.github.io/armeria/server-http-file.html#serving-pre-compressed-files">"Serving static files part of Armeria's documentation"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Serving+static+files+part+of+Armeria%27s+documentation&amp;rft_id=https%3A%2F%2Fline.github.io%2Farmeria%2Fserver-http-file.html%23serving-pre-compressed-files&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://httptools.dev/gzip-brotli-check">"How does the gzip compression check work?"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=How+does+the+gzip+compression+check+work%3F&amp;rft_id=https%3A%2F%2Fhttptools.dev%2Fgzip-brotli-check&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span> httptools.dev, retrieved 10 April 2022.</span> </li> <li id="cite_note-google-use-compression-18"><span class="mw-cite-backlink">^ <a href="#cite_ref-google-use-compression_18-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-google-use-compression_18-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://developers.google.com/speed/articles/use-compression">"Use compression to make the web faster"</a>. Google Inc<span class="reference-accessdate">. Retrieved <span class="nowrap">22 May</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Use+compression+to+make+the+web+faster&amp;rft.pub=Google+Inc.&amp;rft_id=https%3A%2F%2Fdevelopers.google.com%2Fspeed%2Farticles%2Fuse-compression&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://stackoverflow.com/questions/9170338/why-are-major-web-sites-using-gzip/9186091#9186091">"deflate - Why are major web sites using gzip?"</a>. Stack Overflow<span class="reference-accessdate">. Retrieved <span class="nowrap">18 April</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=deflate+-+Why+are+major+web+sites+using+gzip%3F&amp;rft.pub=Stack+Overflow&amp;rft_id=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F9170338%2Fwhy-are-major-web-sites-using-gzip%2F9186091%239186091&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20150102111552/http://www.vervestudios.co/projects/compression-tests/">"Compression Tests: About"</a>. Verve Studios. Archived from <a rel="nofollow" class="external text" href="http://www.vervestudios.co/projects/compression-tests/">the original</a> on 2 January 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">18 April</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Compression+Tests%3A+About&amp;rft.pub=Verve+Studios&amp;rft_id=http%3A%2F%2Fwww.vervestudios.co%2Fprojects%2Fcompression-tests%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://zoompf.com/blog/2012/02/lose-the-wait-http-compression">"Lose the wait: HTTP Compression"</a>. Zoompf Web Performance<span class="reference-accessdate">. Retrieved <span class="nowrap">18 April</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Lose+the+wait%3A+HTTP+Compression&amp;rft.pub=Zoompf+Web+Performance&amp;rft_id=http%3A%2F%2Fzoompf.com%2Fblog%2F2012%2F02%2Flose-the-wait-http-compression&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-Gooin20130801-22"><span class="mw-cite-backlink">^ <a href="#cite_ref-Gooin20130801_22-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Gooin20130801_22-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFGoodin2013" class="citation web cs1">Goodin, Dan (1 August 2013). <a rel="nofollow" class="external text" href="https://arstechnica.com/security/2013/08/gone-in-30-seconds-new-attack-plucks-secrets-from-https-protected-pages/">"Gone in 30 seconds: New attack plucks secrets from HTTPS-protected pages"</a>. <i>Ars Technica</i>. Condé Nast<span class="reference-accessdate">. Retrieved <span class="nowrap">2 August</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Ars+Technica&amp;rft.atitle=Gone+in+30+seconds%3A+New+attack+plucks+secrets+from+HTTPS-protected+pages&amp;rft.date=2013-08-01&amp;rft.aulast=Goodin&amp;rft.aufirst=Dan&amp;rft_id=https%3A%2F%2Farstechnica.com%2Fsecurity%2F2013%2F08%2Fgone-in-30-seconds-new-attack-plucks-secrets-from-https-protected-pages%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLeyden2013" class="citation web cs1">Leyden, John (2 August 2013). <a rel="nofollow" class="external text" href="https://www.theregister.co.uk/2013/08/02/breach_crypto_attack/">"Step into the BREACH: New attack developed to read encrypted web data"</a>. <i>The Register</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2 August</span> 2013</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=The+Register&amp;rft.atitle=Step+into+the+BREACH%3A+New+attack+developed+to+read+encrypted+web+data&amp;rft.date=2013-08-02&amp;rft.aulast=Leyden&amp;rft.aufirst=John&amp;rft_id=https%3A%2F%2Fwww.theregister.co.uk%2F2013%2F08%2F02%2Fbreach_crypto_attack%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSullivan2016" class="citation web cs1">Sullivan, Nick (11 August 2016). <a rel="nofollow" class="external text" href="https://www.helpnetsecurity.com/2016/08/11/compression-oracle-attacks-https/">"CRIME, TIME, BREACH and HEIST: A brief history of compression oracle attacks on HTTPS"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">16 August</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=CRIME%2C+TIME%2C+BREACH+and+HEIST%3A+A+brief+history+of+compression+oracle+attacks+on+HTTPS&amp;rft.date=2016-08-11&amp;rft.aulast=Sullivan&amp;rft.aufirst=Nick&amp;rft_id=https%3A%2F%2Fwww.helpnetsecurity.com%2F2016%2F08%2F11%2Fcompression-oracle-attacks-https%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFGoodin2016" class="citation web cs1">Goodin, Dan (3 August 2016). <a rel="nofollow" class="external text" href="https://arstechnica.com/security/2016/08/new-attack-steals-ssns-e-mail-addresses-and-more-from-https-pages/">"HEIST exploit — New attack steals SSNs, e-mail addresses, and more from HTTPS pages"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">16 August</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=HEIST+exploit+%E2%80%94+New+attack+steals+SSNs%2C+e-mail+addresses%2C+and+more+from+HTTPS+pages&amp;rft.date=2016-08-03&amp;rft.aulast=Goodin&amp;rft.aufirst=Dan&amp;rft_id=https%3A%2F%2Farstechnica.com%2Fsecurity%2F2016%2F08%2Fnew-attack-steals-ssns-e-mail-addresses-and-more-from-https-pages%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBe&#39;ery" class="citation web cs1">Be'ery, Tal. <a rel="nofollow" class="external text" href="https://www.owasp.org/images/e/eb/A_Perfect_CRIME_TIME_Will_Tell_-_Tal_Beery.pdf">"A Perfect Crime? TIME will tell"</a> <span class="cs1-format">(PDF)</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=A+Perfect+Crime%3F+TIME+will+tell.&amp;rft.aulast=Be%27ery&amp;rft.aufirst=Tal&amp;rft_id=https%3A%2F%2Fwww.owasp.org%2Fimages%2Fe%2Feb%2FA_Perfect_CRIME_TIME_Will_Tell_-_Tal_Beery.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> <li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFVanhoef" class="citation web cs1">Vanhoef, Mathy. <a rel="nofollow" class="external text" href="https://www.blackhat.com/docs/us-16/materials/us-16-VanGoethem-HEIST-HTTP-Encrypted-Information-Can-Be-Stolen-Through-TCP-Windows-wp.pdf">"HEIST: HTTP Encrypted Information can be Stolen through TCP-windows"</a> <span class="cs1-format">(PDF)</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=HEIST%3A+HTTP+Encrypted+Information+can+be+Stolen+through+TCP-windows&amp;rft.aulast=Vanhoef&amp;rft.aufirst=Mathy&amp;rft_id=https%3A%2F%2Fwww.blackhat.com%2Fdocs%2Fus-16%2Fmaterials%2Fus-16-VanGoethem-HEIST-HTTP-Encrypted-Information-Can-Be-Stolen-Through-TCP-Windows-wp.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+compression" class="Z3988"></span></span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=HTTP_compression&amp;action=edit&amp;section=7" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222">RFC&#160;<a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc2616">2616</a>: Hypertext Transfer Protocol – HTTP/1.1</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222">RFC&#160;<a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc9110">9110</a>: HTTP Semantics</li> <li><a rel="nofollow" class="external text" href="https://www.iana.org/assignments/http-parameters">HTTP Content-Coding Values</a> by Internet Assigned Numbers Authority</li> <li><a rel="nofollow" class="external text" href="http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:Modcompress">Compression with lighttpd</a></li> <li><a rel="nofollow" class="external text" href="http://www.codinghorror.com/blog/2004/08/http-compression-and-iis-6-0.html">Coding Horror: HTTP Compression on IIS 6.0</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20140206020708/http://www.codinghorror.com/blog/2004/08/http-compression-and-iis-6-0.html">Archived</a> 2014-02-06 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a></li> <li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20110716033901/http://www.15seconds.com/Issue/020314.htm">15 Seconds: Web Site Compression</a> at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>&#32;(archived July 16, 2011)</li> <li><a rel="nofollow" class="external text" href="http://www.serverwatch.com/tutorials/article.php/3514866">Using HTTP Compression</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160314155152/http://www.serverwatch.com/tutorials/article.php/3514866">Archived</a> 2016-03-14 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a> by Martin Brown of Server Watch</li> <li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20060411174003/http://www.devshed.com/c/a/PHP/Using-HTTP-Compression-in-PHP-Make-Your-Web-Pages-Load-Faster/">Using HTTP Compression in PHP</a></li> <li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20120430023716/https://banu.com/blog/38/dynamic-and-static-http-compression-with-apache-httpd/">Dynamic and static HTTP compression with Apache httpd</a></li></ul> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐lnt6z Cached time: 20241122142531 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.342 seconds Real time usage: 0.417 seconds Preprocessor visited node count: 2151/1000000 Post‐expand include size: 45483/2097152 bytes Template argument size: 856/2097152 bytes Highest expansion depth: 14/100 Expensive parser function count: 5/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 108019/5000000 bytes Lua time usage: 0.216/10.000 seconds Lua memory usage: 5644413/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 369.218 1 -total 33.90% 125.169 1 Template:Reflist 28.26% 104.340 24 Template:Cite_web 22.19% 81.945 1 Template:HTTP 22.13% 81.702 1 Template:Short_description 21.63% 79.847 1 Template:Sidebar 13.01% 48.041 2 Template:Pagetype 10.98% 40.557 7 Template:IETF_RFC 10.40% 38.399 7 Template:Catalog_lookup_link 6.34% 23.392 3 Template:Main_other --> <!-- Saved in parser cache with key enwiki:pcache:idhash:4954757-0!canonical and timestamp 20241122142531 and revision id 1241507032. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=HTTP_compression&amp;oldid=1241507032">https://en.wikipedia.org/w/index.php?title=HTTP_compression&amp;oldid=1241507032</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Web_development" title="Category:Web development">Web development</a></li><li><a href="/wiki/Category:Lossless_compression_algorithms" title="Category:Lossless compression algorithms">Lossless compression algorithms</a></li><li><a href="/wiki/Category:Hypertext_Transfer_Protocol" title="Category:Hypertext Transfer Protocol">Hypertext Transfer Protocol</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:Webarchive_template_wayback_links" title="Category:Webarchive template wayback links">Webarchive template wayback links</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 21 August 2024, at 15:15<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=HTTP_compression&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-rpq2w","wgBackendResponseTime":409,"wgPageParseReport":{"limitreport":{"cputime":"0.342","walltime":"0.417","ppvisitednodes":{"value":2151,"limit":1000000},"postexpandincludesize":{"value":45483,"limit":2097152},"templateargumentsize":{"value":856,"limit":2097152},"expansiondepth":{"value":14,"limit":100},"expensivefunctioncount":{"value":5,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":108019,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 369.218 1 -total"," 33.90% 125.169 1 Template:Reflist"," 28.26% 104.340 24 Template:Cite_web"," 22.19% 81.945 1 Template:HTTP"," 22.13% 81.702 1 Template:Short_description"," 21.63% 79.847 1 Template:Sidebar"," 13.01% 48.041 2 Template:Pagetype"," 10.98% 40.557 7 Template:IETF_RFC"," 10.40% 38.399 7 Template:Catalog_lookup_link"," 6.34% 23.392 3 Template:Main_other"]},"scribunto":{"limitreport-timeusage":{"value":"0.216","limit":"10.000"},"limitreport-memusage":{"value":5644413,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-lnt6z","timestamp":"20241122142531","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"HTTP compression","url":"https:\/\/en.wikipedia.org\/wiki\/HTTP_compression","sameAs":"http:\/\/www.wikidata.org\/entity\/Q3495340","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q3495340","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2006-04-30T13:13:41Z","dateModified":"2024-08-21T15:15:41Z","image":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/5\/5b\/HTTP_logo.svg","headline":"capability that can be built into web servers and web clients to improve transfer speed and bandwidth utilization"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10