Jump to content

Examine individual changes

This page allows you to examine the variables generated by the Edit Filter for an individual change.

Variables generated for this change

VariableValue
Edit count of the user (user_editcount)
null
Name of the user account (user_name)
'14.137.200.63'
Age of the user account (user_age)
0
Groups (including implicit) the user is in (user_groups)
[ 0 => '*' ]
Rights that the user has (user_rights)
[ 0 => 'createaccount', 1 => 'read', 2 => 'edit', 3 => 'createtalk', 4 => 'writeapi', 5 => 'viewmywatchlist', 6 => 'editmywatchlist', 7 => 'viewmyprivateinfo', 8 => 'editmyprivateinfo', 9 => 'editmyoptions', 10 => 'abusefilter-log-detail', 11 => 'centralauth-merge', 12 => 'abusefilter-view', 13 => 'abusefilter-log', 14 => 'vipsscaler-test' ]
Whether the user is editing from mobile app (user_app)
false
Whether or not a user is editing through the mobile interface (user_mobile)
true
Page ID (page_id)
1218572
Page namespace (page_namespace)
0
Page title without namespace (page_title)
'HTTP pipelining'
Full page title (page_prefixedtitle)
'HTTP pipelining'
Edit protection level of the page (page_restrictions_edit)
[]
Last ten users to contribute to the page (page_recent_contributors)
[ 0 => 'Tom.Reding', 1 => 'WikiCleanerBot', 2 => 'InternetArchiveBot', 3 => 'AnomieBOT', 4 => 'Kuru', 5 => 'CarlaChristo', 6 => '91.228.164.26', 7 => '60.49.74.73', 8 => 'Comp.arch', 9 => 'KolbertBot' ]
Page age in seconds (page_age)
511244032
Action (action)
'edit'
Edit summary/reason (summary)
''
Old content model (old_content_model)
'wikitext'
New content model (new_content_model)
'wikitext'
Old page wikitext, before the edit (old_wikitext)
'[[File:HTTP pipelining2.svg|thumb|right|300px|Time diagram of non-pipelined vs. pipelined connection]] {{HTTP}} '''HTTP pipelining''' is a technique in which multiple [[HTTP]] requests are sent on a single [[Transmission Control Protocol|TCP]] (transmission control protocol) connection without waiting for the corresponding responses.<ref name="pipeline">{{cite web|url=http://tools.ietf.org/html/rfc7230#section-6.3.2|title=Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing|publisher=ietf.org|accessdate=2014-07-24}}</ref> The technique was superseded by multiplexing via [[HTTP/2]],<ref name=":0">{{Cite web|url=https://developer.mozilla.org/en-US/docs/Web/HTTP/Connection_management_in_HTTP_1.x$revision/1330814|title=Revision 1330814 {{!}} Connection management in HTTP/1.x {{!}} MDN|website=MDN Web Docs|language=en-US|access-date=2018-03-19}}</ref> which is supported by most modern browsers.<ref name="browser_support">{{cite web|url=http://caniuse.com/#search=http2|title=HTTP2 browser support|accessdate=March 9, 2017}}</ref> As of 2018, HTTP pipelining is not enabled by default in modern browsers, due to several issues including buggy [[proxy server]]s and [[Head-of-line blocking|HOL blocking]].<ref name=":0" /> ==Motivation and limitations== The pipelining of requests results in a dramatic improvement<ref>{{cite web|url=http://www.w3.org/Protocols/HTTP/Performance/Pipeline.html|title=Network Performance Effects of HTTP/1.1, CSS1, and PNG|publisher=World Wide Web Consortium|accessdate=14 January 2010|date=24 June 1997|first1=Henrik Frystyk|last1=Nielsen|authorlink1=Henrik Frystyk Nielsen|first2=Jim|last2=Gettys|authorlink2=Jim Gettys|first3=Anselm|last3=Baird-Smith|first4=Eric|last4=Prud'hommeaux|first5=Håkon Wium|last5=Lie|authorlink5=Håkon Wium Lie|first6=Chris|last6=Lilley|authorlink6=Chris Lilley (computer scientist)}}</ref> in the loading times of HTML pages, especially over high [[Lag|latency]] connections such as [[Satellite Internet|satellite Internet connection]]s. The speedup is less apparent on broadband connections, as the limitation of HTTP 1.1 still applies: the server must send its responses in the same order that the requests were received—so the entire connection remains [[FIFO and LIFO accounting|first-in-first-out]]<ref name="pipeline" /> and [[Head-of-line blocking|HOL blocking]] can occur. The asynchronous operation of [[HTTP/2]] and [[SPDY]] are solutions for this.<ref name="lwnspdy">{{cite web|url=https://lwn.net/Articles/362473/|title=Reducing HTTP latency with SPDY|first=Nathan|last=Willis|date=18 November 2009|publisher=[[LWN.net]]}}</ref> Browsers ultimately did not enable pipelining by default, and by 2017 most browsers supported HTTP/2 by default which used multiplexing instead.<ref name=":0" /> Non-[[idempotence (computer science)#Examples|idempotent]] requests, like those using [[POST (HTTP)|POST]], should not be pipelined.<ref name="non-idempotent">{{cite web|url=http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html|title=Connections|publisher=[[w3.org]]}}</ref> Sequences of GET and HEAD requests can always be pipelined. A sequence of other idempotent requests like PUT and DELETE can be pipelined or not depending on whether requests in the sequence depend on the effect of others.<ref name="pipeline"/> HTTP pipelining requires both the client and the server to support it. [[Hypertext Transfer Protocol|HTTP/1.1]] conforming servers are required to support pipelining. This does not mean that servers are required to pipeline responses, but that they are required not to fail if a client chooses to pipeline requests.<ref>{{cite web|url=https://www-archive.mozilla.org/projects/netlib/http/pipelining-faq.html|title=HTTP/1.1 Pipelining FAQ'}}</ref> {{Clear left}} ==Implementation status== Pipelining was introduced in HTTP/1.1 and was not present in HTTP/1.0.<ref>{{Cite web |url=http://www8.org/w8-papers/5c-protocols/key/key.html |title=Archived copy |access-date=2016-04-16 |archive-url=https://web.archive.org/web/20160424204340/http://www8.org/w8-papers/5c-protocols/key/key.html |archive-date=2016-04-24 |url-status=dead }}</ref> ===Implementation in web servers=== Implementing pipelining in [[web server]]s is a relatively simple matter of making sure that network buffers are not discarded between requests. For that reason, most modern web servers handle pipelining without any problem. ===Implementation in web browsers=== Of all the major browsers, only [[Opera (web browser)|Opera]] based on [[Presto (layout engine)|Presto]] layout engine had a fully working implementation that was enabled by default. In all other browsers HTTP pipelining is disabled or not implemented.<ref name="lwnspdy"/> *[[Internet Explorer 8]] does not pipeline requests, due to concerns regarding buggy proxies and [[head-of-line blocking]].<ref>{{cite web|url=http://www.microsoft.com/windowsxp/expertzone/chats/transcripts/08_0814_ez_ie8.mspx|title=Wayback link of 'Windows Internet Explorer 8 Expert Zone Chat (August 14, 2008)'|date=August 14, 2008|publisher=[[Microsoft]]|accessdate=May 10, 2012|archive-url=https://web.archive.org/web/20101204053757/http://www.microsoft.com/windowsxp/expertzone/chats/transcripts/08_0814_ez_ie8.mspx|archive-date=December 4, 2010|url-status=dead}}</ref> *[[Internet Explorer 11]] does not support pipelining.<ref>{{Cite news|url=https://blogs.msdn.microsoft.com/ie/2005/04/11/internet-explorer-and-connection-limits/|title=Internet Explorer and Connection Limits|newspaper=IEBlog|access-date=2016-11-14}}</ref> *Mozilla browsers (such as [[Mozilla Firefox]], [[SeaMonkey]] and [[Camino (web browser)|Camino]]) support pipelining; however, it is disabled by default.<ref>[http://kb.mozillazine.org/Network.http.pipelining Pipelining Network] [[MozillaZine]]</ref><ref>{{cite book|title=Firefox secrets|author=Cheah Chu Yeow|page=[https://archive.org/details/firefoxsecrets0000chea/page/180 180]|isbn=0-9752402-4-2|url-access=registration|url=https://archive.org/details/firefoxsecrets0000chea/page/180}}</ref> Pipelining is disabled by default to avoid issues with misbehaving servers.<ref>{{cite web|url= https://bugzilla.mozilla.org/show_bug.cgi?id=264354|title=Bug 264354: Enable HTTP pipelining by default|publisher=[[Mozilla]]|accessdate=September 16, 2011}}</ref> When pipelining is enabled, Mozilla browsers use some heuristics, especially to turn pipelining off for older [[Internet Information Services|IIS]] servers.<ref>{{cite web|url=https://hg.mozilla.org/releases/mozilla-2.0/file/09565753ce5f/netwerk/protocol/http/src/nsHttpConnection.cpp#l251|title=Source code – nsHttpConnection.cpp|publisher=Mozilla|work=Firefox source code|date=May 7, 2010|accessdate=December 5, 2010}}</ref> Support for H1 Pipeline was removed from Mozilla Firefox in Version 54.<ref>{{cite web|url= https://bugzilla.mozilla.org/show_bug.cgi?id=1340655|title=Bug 1340655: Remove H1 Pipeline Support|publisher=[[Mozilla]]|accessdate=March 22, 2017}}</ref> *[[Konqueror]] 2.0 supports pipelining, but disabled by default.{{citation needed|date=May 2019}} *[[Google Chrome]] previously supported pipelining, but it has been disabled due to bugs and problems with poorly behaving servers.<ref>[https://www.chromium.org/developers/design-documents/network-stack/http-pipelining HTTP Pipelining - The Chromium Projects]</ref> *[[Pale Moon (web browser)]] supports pipelining, and is enabled by default<ref>{{Cite web|url=https://forum.palemoon.org/viewtopic.php?f=5&t=16869&p=123455|title=HTTP/1 Pipelining support has been removed in Firefox 54 - Pale Moon forum|website=forum.palemoon.org|language=en-us|access-date=2018-06-07}}</ref> ===Implementation in web proxies=== Most HTTP proxies do not pipeline outgoing requests.<ref>{{cite web|url= http://www.mnot.net/blog/2007/06/20/proxy_caching|title=The State of Proxy Caching|date=June 20, 2007|author=Mark Nottingham|author-link=Mark Nottingham|accessdate= May 16, 2009}}</ref> Some versions of the [[Squid (software)|Squid]] web proxy will pipeline up to two outgoing requests. This functionality has been disabled by default and needs to be manually enabled for "bandwidth management and access logging reasons."<ref>{{cite web|url=http://www.squid-cache.org/Doc/config/pipeline_prefetch/|title=squid : pipeline_prefetch configuration directive|date=November 9, 2009|publisher=[[Squid (software)|Squid]]|accessdate=December 1, 2009}}</ref> Squid supports multiple requests from clients. The [[Polipo]] proxy pipelines outgoing requests.<ref>{{cite web|url= http://www.pps.jussieu.fr/~jch/software/polipo/|title=Polipo — a caching web proxy|date=September 18, 2009|publisher=Juliusz Chroboczek|accessdate=November 12, 2009}}</ref> Tempesta FW, an open source [[application delivery controller]],<ref>{{cite web|url= https://github.com/tempesta-tech/tempesta|title=Tempesta FW — a Linux Application Delivery Controller|publisher=GitHub|accessdate=March 29, 2018}}</ref> also pipelines requests to backend servers.<ref>{{cite web|url= https://github.com/tempesta-tech/tempesta/wiki/Servers:-Tempesta's-side|title=Servers: Tempesta's side - tempesta-tech/tempesta Wiki|date=August 1, 2017|publisher=Tempesta Technologies INC|accessdate=March 29, 2018}}</ref> ===Other implementations=== The [[libwww]] [[library (computing)|library]] made by the [[World Wide Web Consortium]] (W3C), supports pipelining since version 5.1 released at 18 February 1997.<ref>{{cite web|last=Kahan|first=José|title=Change History of libwww|url=http://www.w3.org/Library/User/History.html |publisher=[[World Wide Web Consortium]]|accessdate=August 3, 2010|date= June 7, 2002}}</ref> Other application development libraries that support HTTP pipelining include: *Perl modules providing client support for HTTP pipelining are HTTP::Async and the LWPng ([[libwww-perl]] New Generation) library.<ref>{{Cite web |url=http://miltonkeynes.pm.org/talks/2010/02/colin_bradford_http_async.pdf |title=Using HTTP::Async for Parallel HTTP Requests (Colin Bradford) |access-date=2010-08-03 |archive-url=https://web.archive.org/web/20120310042434/http://miltonkeynes.pm.org/talks/2010/02/colin_bradford_http_async.pdf |archive-date=2012-03-10 |url-status=dead }}</ref> *[[Apache Foundation]] project [[HttpComponents]] provides pipelining support in the HttpCore NIO extensions. *The Microsoft [[.NET Framework]] 3.5 supports HTTP pipelining in the module <code>System.Net.HttpWebRequest</code>.<ref>[http://blogs.msdn.com/b/mflasko/archive/2006/07/17/669293.aspx System.Net.HttpWebRequest & pipelining]</ref> *[[Qt (framework)|Qt]] class <code>QNetworkRequest</code>, introduced in 4.4.<ref>[http://doc.qt.nokia.com/4.6/qnetworkrequest.html QNetworkRequest Class Reference] {{webarchive|url=https://web.archive.org/web/20091222054207/http://doc.qt.nokia.com/4.6/qnetworkrequest.html |date=2009-12-22 }}, Nokia QT documentation</ref> Some other applications currently exploiting pipelining are: *IceBreak application server since BUILD389 *phttpget from [[FreeBSD]] (a minimalist pipelined HTTP client)<ref>[http://www.daemonology.net/phttpget/ Pipelined HTTP GET utility]</ref> *[[libcurl]] has limited support for pipelining using the CURLMOPT_PIPELINING option.<ref>[http://curl.haxx.se/dev/readme-pipelining.html Curl pipelining explanation] {{webarchive|url=https://web.archive.org/web/20120627181619/http://curl.haxx.se/dev/readme-pipelining.html |date=2012-06-27 }}, Curl developer documentation</ref> *[[portsnap]] (a [[FreeBSD]] [[FreeBSD Ports|ports tree]] distribution system) *[[Advanced Packaging Tool]] (APT) support pipelining.{{Citation needed|date=August 2010}} *[[Apache Subversion|Subversion]] (SVN) has optional support for HTTP pipelining with the [[serf (library)|serf]] WebDAV access module (the default module, [[neon (library)|neon]] does not have pipelining support).<ref>{{cite book | title = Version Control with Subversion|author1=C. Michael Pilato |author2=Ben Collins-Sussman |author3=Brian W. Fitzpatrick |page=238|publisher=[[O'Reilly Media]]|year=2008|isbn=0-596-51033-0}}</ref><ref>{{cite web|url=http://www.erenkrantz.com/oscon/OSCON%202007%20Subversion%20New%20Toys.pdf|title=Subversion: Powerful New Toys|author=Justin R. Erenkrantz|year=2007}}</ref> *[[Microsoft Message Queuing]] on [[Windows Server 2003]] utilises pipelining on HTTP by default, and can be configured to use it on HTTPS.<ref>{{cite web|url= https://technet.microsoft.com/en-us/library/cc737394%28WS.10%29.aspx|title= HTTP/HTTPS messages|publisher=[[Microsoft TechNet]]|date=January 21, 2005}}</ref> *IBM [[CICS]] 3.1 supports HTTP pipelining within its client.<ref>[http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp?topic=/com.ibm.cics.ts31.doc/dfhtl/topics/dfhtl_cwspipelining.htm How CICS Web support handles pipelining]</ref> [[Multipart XHR]] is implementation of pipelining (without any browser or web server support) done purely in JavaScript in combination with server-side scripting.{{Citation needed|date=August 2010}} Testing tools which support HTTP pipelining include: *[[httperf]]<ref>{{Cite web |url=http://www.hpl.hp.com/research/linux/httperf/ |title=HTTP Website |access-date=2010-10-01 |archive-url=https://web.archive.org/web/20120608143409/http://www.hpl.hp.com/research/linux/httperf/ |archive-date=2012-06-08 |url-status=dead }}</ref> ==See also== *[[HTTP persistent connection]] *[[WebSocket]] *[[SPDY]] ==References== {{Reflist}} ==External links== *RFC 7230 {{cite web|url=http://tools.ietf.org/html/rfc7230#section-6.3.2|title=Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing|publisher=ietf.org|accessdate=2014-07-24}} *[https://www.mozilla.org/projects/netlib/http/pipelining-faq.html HTTP/1.1 Pipelining FAQ at mozilla.org] *[https://www.w3.org/Protocols/HTTP/Performance/Pipeline.html "Network Performance Effects of HTTP/1.1, CSS1, and PNG" at w3.org] *[https://www.die.net/musings/page_load_time/ "Optimizing Page Load Times" article] *[https://www.daemonology.net/phttpget/ phttpget] *[https://code.google.com/p/serf/ serf] C library {{DEFAULTSORT:Http Pipelining}} [[Category:Hypertext Transfer Protocol]]'
New page wikitext, after the edit (new_wikitext)
'Hh ==Motivation and limitations== The pipelining of requests results in a dramatic improvement<ref>{{cite web|url=http://www.w3.org/Protocols/HTTP/Performance/Pipeline.html|title=Network Performance Effects of HTTP/1.1, CSS1, and PNG|publisher=World Wide Web Consortium|accessdate=14 January 2010|date=24 June 1997|first1=Henrik Frystyk|last1=Nielsen|authorlink1=Henrik Frystyk Nielsen|first2=Jim|last2=Gettys|authorlink2=Jim Gettys|first3=Anselm|last3=Baird-Smith|first4=Eric|last4=Prud'hommeaux|first5=Håkon Wium|last5=Lie|authorlink5=Håkon Wium Lie|first6=Chris|last6=Lilley|authorlink6=Chris Lilley (computer scientist)}}</ref> in the loading times of HTML pages, especially over high [[Lag|latency]] connections such as [[Satellite Internet|satellite Internet connection]]s. The speedup is less apparent on broadband connections, as the limitation of HTTP 1.1 still applies: the server must send its responses in the same order that the requests were received—so the entire connection remains [[FIFO and LIFO accounting|first-in-first-out]]<ref name="pipeline" /> and [[Head-of-line blocking|HOL blocking]] can occur. The asynchronous operation of [[HTTP/2]] and [[SPDY]] are solutions for this.<ref name="lwnspdy">{{cite web|url=https://lwn.net/Articles/362473/|title=Reducing HTTP latency with SPDY|first=Nathan|last=Willis|date=18 November 2009|publisher=[[LWN.net]]}}</ref> Browsers ultimately did not enable pipelining by default, and by 2017 most browsers supported HTTP/2 by default which used multiplexing instead.<ref name=":0" /> Non-[[idempotence (computer science)#Examples|idempotent]] requests, like those using [[POST (HTTP)|POST]], should not be pipelined.<ref name="non-idempotent">{{cite web|url=http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html|title=Connections|publisher=[[w3.org]]}}</ref> Sequences of GET and HEAD requests can always be pipelined. A sequence of other idempotent requests like PUT and DELETE can be pipelined or not depending on whether requests in the sequence depend on the effect of others.<ref name="pipeline"/> HTTP pipelining requires both the client and the server to support it. [[Hypertext Transfer Protocol|HTTP/1.1]] conforming servers are required to support pipelining. This does not mean that servers are required to pipeline responses, but that they are required not to fail if a client chooses to pipeline requests.<ref>{{cite web|url=https://www-archive.mozilla.org/projects/netlib/http/pipelining-faq.html|title=HTTP/1.1 Pipelining FAQ'}}</ref> {{Clear left}} ==Implementation status== Pipelining was introduced in HTTP/1.1 and was not present in HTTP/1.0.<ref>{{Cite web |url=http://www8.org/w8-papers/5c-protocols/key/key.html |title=Archived copy |access-date=2016-04-16 |archive-url=https://web.archive.org/web/20160424204340/http://www8.org/w8-papers/5c-protocols/key/key.html |archive-date=2016-04-24 |url-status=dead }}</ref> ===Implementation in web servers=== Implementing pipelining in [[web server]]s is a relatively simple matter of making sure that network buffers are not discarded between requests. For that reason, most modern web servers handle pipelining without any problem. ===Implementation in web browsers=== Of all the major browsers, only [[Opera (web browser)|Opera]] based on [[Presto (layout engine)|Presto]] layout engine had a fully working implementation that was enabled by default. In all other browsers HTTP pipelining is disabled or not implemented.<ref name="lwnspdy"/> *[[Internet Explorer 8]] does not pipeline requests, due to concerns regarding buggy proxies and [[head-of-line blocking]].<ref>{{cite web|url=http://www.microsoft.com/windowsxp/expertzone/chats/transcripts/08_0814_ez_ie8.mspx|title=Wayback link of 'Windows Internet Explorer 8 Expert Zone Chat (August 14, 2008)'|date=August 14, 2008|publisher=[[Microsoft]]|accessdate=May 10, 2012|archive-url=https://web.archive.org/web/20101204053757/http://www.microsoft.com/windowsxp/expertzone/chats/transcripts/08_0814_ez_ie8.mspx|archive-date=December 4, 2010|url-status=dead}}</ref> *[[Internet Explorer 11]] does not support pipelining.<ref>{{Cite news|url=https://blogs.msdn.microsoft.com/ie/2005/04/11/internet-explorer-and-connection-limits/|title=Internet Explorer and Connection Limits|newspaper=IEBlog|access-date=2016-11-14}}</ref> *Mozilla browsers (such as [[Mozilla Firefox]], [[SeaMonkey]] and [[Camino (web browser)|Camino]]) support pipelining; however, it is disabled by default.<ref>[http://kb.mozillazine.org/Network.http.pipelining Pipelining Network] [[MozillaZine]]</ref><ref>{{cite book|title=Firefox secrets|author=Cheah Chu Yeow|page=[https://archive.org/details/firefoxsecrets0000chea/page/180 180]|isbn=0-9752402-4-2|url-access=registration|url=https://archive.org/details/firefoxsecrets0000chea/page/180}}</ref> Pipelining is disabled by default to avoid issues with misbehaving servers.<ref>{{cite web|url= https://bugzilla.mozilla.org/show_bug.cgi?id=264354|title=Bug 264354: Enable HTTP pipelining by default|publisher=[[Mozilla]]|accessdate=September 16, 2011}}</ref> When pipelining is enabled, Mozilla browsers use some heuristics, especially to turn pipelining off for older [[Internet Information Services|IIS]] servers.<ref>{{cite web|url=https://hg.mozilla.org/releases/mozilla-2.0/file/09565753ce5f/netwerk/protocol/http/src/nsHttpConnection.cpp#l251|title=Source code – nsHttpConnection.cpp|publisher=Mozilla|work=Firefox source code|date=May 7, 2010|accessdate=December 5, 2010}}</ref> Support for H1 Pipeline was removed from Mozilla Firefox in Version 54.<ref>{{cite web|url= https://bugzilla.mozilla.org/show_bug.cgi?id=1340655|title=Bug 1340655: Remove H1 Pipeline Support|publisher=[[Mozilla]]|accessdate=March 22, 2017}}</ref> *[[Konqueror]] 2.0 supports pipelining, but disabled by default.{{citation needed|date=May 2019}} *[[Google Chrome]] previously supported pipelining, but it has been disabled due to bugs and problems with poorly behaving servers.<ref>[https://www.chromium.org/developers/design-documents/network-stack/http-pipelining HTTP Pipelining - The Chromium Projects]</ref> *[[Pale Moon (web browser)]] supports pipelining, and is enabled by default<ref>{{Cite web|url=https://forum.palemoon.org/viewtopic.php?f=5&t=16869&p=123455|title=HTTP/1 Pipelining support has been removed in Firefox 54 - Pale Moon forum|website=forum.palemoon.org|language=en-us|access-date=2018-06-07}}</ref> ===Implementation in web proxies=== Most HTTP proxies do not pipeline outgoing requests.<ref>{{cite web|url= http://www.mnot.net/blog/2007/06/20/proxy_caching|title=The State of Proxy Caching|date=June 20, 2007|author=Mark Nottingham|author-link=Mark Nottingham|accessdate= May 16, 2009}}</ref> Some versions of the [[Squid (software)|Squid]] web proxy will pipeline up to two outgoing requests. This functionality has been disabled by default and needs to be manually enabled for "bandwidth management and access logging reasons."<ref>{{cite web|url=http://www.squid-cache.org/Doc/config/pipeline_prefetch/|title=squid : pipeline_prefetch configuration directive|date=November 9, 2009|publisher=[[Squid (software)|Squid]]|accessdate=December 1, 2009}}</ref> Squid supports multiple requests from clients. The [[Polipo]] proxy pipelines outgoing requests.<ref>{{cite web|url= http://www.pps.jussieu.fr/~jch/software/polipo/|title=Polipo — a caching web proxy|date=September 18, 2009|publisher=Juliusz Chroboczek|accessdate=November 12, 2009}}</ref> Tempesta FW, an open source [[application delivery controller]],<ref>{{cite web|url= https://github.com/tempesta-tech/tempesta|title=Tempesta FW — a Linux Application Delivery Controller|publisher=GitHub|accessdate=March 29, 2018}}</ref> also pipelines requests to backend servers.<ref>{{cite web|url= https://github.com/tempesta-tech/tempesta/wiki/Servers:-Tempesta's-side|title=Servers: Tempesta's side - tempesta-tech/tempesta Wiki|date=August 1, 2017|publisher=Tempesta Technologies INC|accessdate=March 29, 2018}}</ref> ===Other implementations=== The [[libwww]] [[library (computing)|library]] made by the [[World Wide Web Consortium]] (W3C), supports pipelining since version 5.1 released at 18 February 1997.<ref>{{cite web|last=Kahan|first=José|title=Change History of libwww|url=http://www.w3.org/Library/User/History.html |publisher=[[World Wide Web Consortium]]|accessdate=August 3, 2010|date= June 7, 2002}}</ref> Other application development libraries that support HTTP pipelining include: *Perl modules providing client support for HTTP pipelining are HTTP::Async and the LWPng ([[libwww-perl]] New Generation) library.<ref>{{Cite web |url=http://miltonkeynes.pm.org/talks/2010/02/colin_bradford_http_async.pdf |title=Using HTTP::Async for Parallel HTTP Requests (Colin Bradford) |access-date=2010-08-03 |archive-url=https://web.archive.org/web/20120310042434/http://miltonkeynes.pm.org/talks/2010/02/colin_bradford_http_async.pdf |archive-date=2012-03-10 |url-status=dead }}</ref> *[[Apache Foundation]] project [[HttpComponents]] provides pipelining support in the HttpCore NIO extensions. *The Microsoft [[.NET Framework]] 3.5 supports HTTP pipelining in the module <code>System.Net.HttpWebRequest</code>.<ref>[http://blogs.msdn.com/b/mflasko/archive/2006/07/17/669293.aspx System.Net.HttpWebRequest & pipelining]</ref> *[[Qt (framework)|Qt]] class <code>QNetworkRequest</code>, introduced in 4.4.<ref>[http://doc.qt.nokia.com/4.6/qnetworkrequest.html QNetworkRequest Class Reference] {{webarchive|url=https://web.archive.org/web/20091222054207/http://doc.qt.nokia.com/4.6/qnetworkrequest.html |date=2009-12-22 }}, Nokia QT documentation</ref> Some other applications currently exploiting pipelining are: *IceBreak application server since BUILD389 *phttpget from [[FreeBSD]] (a minimalist pipelined HTTP client)<ref>[http://www.daemonology.net/phttpget/ Pipelined HTTP GET utility]</ref> *[[libcurl]] has limited support for pipelining using the CURLMOPT_PIPELINING option.<ref>[http://curl.haxx.se/dev/readme-pipelining.html Curl pipelining explanation] {{webarchive|url=https://web.archive.org/web/20120627181619/http://curl.haxx.se/dev/readme-pipelining.html |date=2012-06-27 }}, Curl developer documentation</ref> *[[portsnap]] (a [[FreeBSD]] [[FreeBSD Ports|ports tree]] distribution system) *[[Advanced Packaging Tool]] (APT) support pipelining.{{Citation needed|date=August 2010}} *[[Apache Subversion|Subversion]] (SVN) has optional support for HTTP pipelining with the [[serf (library)|serf]] WebDAV access module (the default module, [[neon (library)|neon]] does not have pipelining support).<ref>{{cite book | title = Version Control with Subversion|author1=C. Michael Pilato |author2=Ben Collins-Sussman |author3=Brian W. Fitzpatrick |page=238|publisher=[[O'Reilly Media]]|year=2008|isbn=0-596-51033-0}}</ref><ref>{{cite web|url=http://www.erenkrantz.com/oscon/OSCON%202007%20Subversion%20New%20Toys.pdf|title=Subversion: Powerful New Toys|author=Justin R. Erenkrantz|year=2007}}</ref> *[[Microsoft Message Queuing]] on [[Windows Server 2003]] utilises pipelining on HTTP by default, and can be configured to use it on HTTPS.<ref>{{cite web|url= https://technet.microsoft.com/en-us/library/cc737394%28WS.10%29.aspx|title= HTTP/HTTPS messages|publisher=[[Microsoft TechNet]]|date=January 21, 2005}}</ref> *IBM [[CICS]] 3.1 supports HTTP pipelining within its client.<ref>[http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp?topic=/com.ibm.cics.ts31.doc/dfhtl/topics/dfhtl_cwspipelining.htm How CICS Web support handles pipelining]</ref> [[Multipart XHR]] is implementation of pipelining (without any browser or web server support) done purely in JavaScript in combination with server-side scripting.{{Citation needed|date=August 2010}} Testing tools which support HTTP pipelining include: *[[httperf]]<ref>{{Cite web |url=http://www.hpl.hp.com/research/linux/httperf/ |title=HTTP Website |access-date=2010-10-01 |archive-url=https://web.archive.org/web/20120608143409/http://www.hpl.hp.com/research/linux/httperf/ |archive-date=2012-06-08 |url-status=dead }}</ref> ==See also== *[[HTTP persistent connection]] *[[WebSocket]] *[[SPDY]] ==References== {{Reflist}} ==External links== *RFC 7230 {{cite web|url=http://tools.ietf.org/html/rfc7230#section-6.3.2|title=Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing|publisher=ietf.org|accessdate=2014-07-24}} *[https://www.mozilla.org/projects/netlib/http/pipelining-faq.html HTTP/1.1 Pipelining FAQ at mozilla.org] *[https://www.w3.org/Protocols/HTTP/Performance/Pipeline.html "Network Performance Effects of HTTP/1.1, CSS1, and PNG" at w3.org] *[https://www.die.net/musings/page_load_time/ "Optimizing Page Load Times" article] *[https://www.daemonology.net/phttpget/ phttpget] *[https://code.google.com/p/serf/ serf] C library {{DEFAULTSORT:Http Pipelining}} [[Category:Hypertext Transfer Protocol]]'
Unified diff of changes made by edit (edit_diff)
'@@ -1,9 +1,3 @@ -[[File:HTTP pipelining2.svg|thumb|right|300px|Time diagram of non-pipelined vs. pipelined connection]] -{{HTTP}} -'''HTTP pipelining''' is a technique in which multiple [[HTTP]] requests are sent on a single [[Transmission Control Protocol|TCP]] (transmission control protocol) connection without waiting for the corresponding responses.<ref name="pipeline">{{cite web|url=http://tools.ietf.org/html/rfc7230#section-6.3.2|title=Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing|publisher=ietf.org|accessdate=2014-07-24}}</ref> - -The technique was superseded by multiplexing via [[HTTP/2]],<ref name=":0">{{Cite web|url=https://developer.mozilla.org/en-US/docs/Web/HTTP/Connection_management_in_HTTP_1.x$revision/1330814|title=Revision 1330814 {{!}} Connection management in HTTP/1.x {{!}} MDN|website=MDN Web Docs|language=en-US|access-date=2018-03-19}}</ref> which is supported by most modern browsers.<ref name="browser_support">{{cite web|url=http://caniuse.com/#search=http2|title=HTTP2 browser support|accessdate=March 9, 2017}}</ref> - -As of 2018, HTTP pipelining is not enabled by default in modern browsers, due to several issues including buggy [[proxy server]]s and [[Head-of-line blocking|HOL blocking]].<ref name=":0" /> +Hh ==Motivation and limitations== '
New page size (new_size)
12901
Old page size (old_size)
14144
Size change in edit (edit_delta)
-1243
Lines added in edit (added_lines)
[ 0 => 'Hh' ]
Lines removed in edit (removed_lines)
[ 0 => '[[File:HTTP pipelining2.svg|thumb|right|300px|Time diagram of non-pipelined vs. pipelined connection]]', 1 => '{{HTTP}}', 2 => ''''HTTP pipelining''' is a technique in which multiple [[HTTP]] requests are sent on a single [[Transmission Control Protocol|TCP]] (transmission control protocol) connection without waiting for the corresponding responses.<ref name="pipeline">{{cite web|url=http://tools.ietf.org/html/rfc7230#section-6.3.2|title=Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing|publisher=ietf.org|accessdate=2014-07-24}}</ref>', 3 => '', 4 => 'The technique was superseded by multiplexing via [[HTTP/2]],<ref name=":0">{{Cite web|url=https://developer.mozilla.org/en-US/docs/Web/HTTP/Connection_management_in_HTTP_1.x$revision/1330814|title=Revision 1330814 {{!}} Connection management in HTTP/1.x {{!}} MDN|website=MDN Web Docs|language=en-US|access-date=2018-03-19}}</ref> which is supported by most modern browsers.<ref name="browser_support">{{cite web|url=http://caniuse.com/#search=http2|title=HTTP2 browser support|accessdate=March 9, 2017}}</ref>', 5 => '', 6 => 'As of 2018, HTTP pipelining is not enabled by default in modern browsers, due to several issues including buggy [[proxy server]]s and [[Head-of-line blocking|HOL blocking]].<ref name=":0" />' ]
Parsed HTML source of the new revision (new_html)
'<div class="mw-parser-output"><p>Hh </p> <div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="en" dir="ltr"><h2 id="mw-toc-heading">Contents</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#Motivation_and_limitations"><span class="tocnumber">1</span> <span class="toctext">Motivation and limitations</span></a></li> <li class="toclevel-1 tocsection-2"><a href="#Implementation_status"><span class="tocnumber">2</span> <span class="toctext">Implementation status</span></a> <ul> <li class="toclevel-2 tocsection-3"><a href="#Implementation_in_web_servers"><span class="tocnumber">2.1</span> <span class="toctext">Implementation in web servers</span></a></li> <li class="toclevel-2 tocsection-4"><a href="#Implementation_in_web_browsers"><span class="tocnumber">2.2</span> <span class="toctext">Implementation in web browsers</span></a></li> <li class="toclevel-2 tocsection-5"><a href="#Implementation_in_web_proxies"><span class="tocnumber">2.3</span> <span class="toctext">Implementation in web proxies</span></a></li> <li class="toclevel-2 tocsection-6"><a href="#Other_implementations"><span class="tocnumber">2.4</span> <span class="toctext">Other implementations</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-7"><a href="#See_also"><span class="tocnumber">3</span> <span class="toctext">See also</span></a></li> <li class="toclevel-1 tocsection-8"><a href="#References"><span class="tocnumber">4</span> <span class="toctext">References</span></a></li> <li class="toclevel-1 tocsection-9"><a href="#External_links"><span class="tocnumber">5</span> <span class="toctext">External links</span></a></li> </ul> </div> <h2><span class="mw-headline" id="Motivation_and_limitations">Motivation and limitations</span></h2> <p>The pipelining of requests results in a dramatic improvement<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">&#91;1&#93;</a></sup> in the loading times of HTML pages, especially over high <a href="/wiki/Lag" title="Lag">latency</a> connections such as <a href="/wiki/Satellite_Internet" class="mw-redirect" title="Satellite Internet">satellite Internet connections</a>. The speedup is less apparent on broadband connections, as the limitation of HTTP 1.1 still applies: the server must send its responses in the same order that the requests were received—so the entire connection remains <a href="/wiki/FIFO_and_LIFO_accounting" title="FIFO and LIFO accounting">first-in-first-out</a><sup id="cite_ref-pipeline_2-0" class="reference"><a href="#cite_note-pipeline-2">&#91;2&#93;</a></sup> and <a href="/wiki/Head-of-line_blocking" title="Head-of-line blocking">HOL blocking</a> can occur. The asynchronous operation of <a href="/wiki/HTTP/2" title="HTTP/2">HTTP/2</a> and <a href="/wiki/SPDY" title="SPDY">SPDY</a> are solutions for this.<sup id="cite_ref-lwnspdy_3-0" class="reference"><a href="#cite_note-lwnspdy-3">&#91;3&#93;</a></sup> Browsers ultimately did not enable pipelining by default, and by 2017 most browsers supported HTTP/2 by default which used multiplexing instead.<sup id="cite_ref-:0_4-0" class="reference"><a href="#cite_note-:0-4">&#91;4&#93;</a></sup> </p><p>Non-<a href="/wiki/Idempotence_(computer_science)#Examples" class="mw-redirect" title="Idempotence (computer science)">idempotent</a> requests, like those using <a href="/wiki/POST_(HTTP)" title="POST (HTTP)">POST</a>, should not be pipelined.<sup id="cite_ref-non-idempotent_5-0" class="reference"><a href="#cite_note-non-idempotent-5">&#91;5&#93;</a></sup> Sequences of GET and HEAD requests can always be pipelined. A sequence of other idempotent requests like PUT and DELETE can be pipelined or not depending on whether requests in the sequence depend on the effect of others.<sup id="cite_ref-pipeline_2-1" class="reference"><a href="#cite_note-pipeline-2">&#91;2&#93;</a></sup> </p><p>HTTP pipelining requires both the client and the server to support it. <a href="/wiki/Hypertext_Transfer_Protocol" title="Hypertext Transfer Protocol">HTTP/1.1</a> conforming servers are required to support pipelining. This does not mean that servers are required to pipeline responses, but that they are required not to fail if a client chooses to pipeline requests.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6">&#91;6&#93;</a></sup> </p> <div style="clear:left;"></div> <h2><span class="mw-headline" id="Implementation_status">Implementation status</span></h2> <p>Pipelining was introduced in HTTP/1.1 and was not present in HTTP/1.0.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7">&#91;7&#93;</a></sup> </p> <h3><span class="mw-headline" id="Implementation_in_web_servers">Implementation in web servers</span></h3> <p>Implementing pipelining in <a href="/wiki/Web_server" title="Web server">web servers</a> is a relatively simple matter of making sure that network buffers are not discarded between requests. For that reason, most modern web servers handle pipelining without any problem. </p> <h3><span class="mw-headline" id="Implementation_in_web_browsers">Implementation in web browsers</span></h3> <p>Of all the major browsers, only <a href="/wiki/Opera_(web_browser)" title="Opera (web browser)">Opera</a> based on <a href="/wiki/Presto_(layout_engine)" class="mw-redirect" title="Presto (layout engine)">Presto</a> layout engine had a fully working implementation that was enabled by default. In all other browsers HTTP pipelining is disabled or not implemented.<sup id="cite_ref-lwnspdy_3-1" class="reference"><a href="#cite_note-lwnspdy-3">&#91;3&#93;</a></sup> </p> <ul><li><a href="/wiki/Internet_Explorer_8" title="Internet Explorer 8">Internet Explorer 8</a> does not pipeline requests, due to concerns regarding buggy proxies and <a href="/wiki/Head-of-line_blocking" title="Head-of-line blocking">head-of-line blocking</a>.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8">&#91;8&#93;</a></sup></li> <li><a href="/wiki/Internet_Explorer_11" title="Internet Explorer 11">Internet Explorer 11</a> does not support pipelining.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9">&#91;9&#93;</a></sup></li> <li>Mozilla browsers (such as <a href="/wiki/Mozilla_Firefox" class="mw-redirect" title="Mozilla Firefox">Mozilla Firefox</a>, <a href="/wiki/SeaMonkey" title="SeaMonkey">SeaMonkey</a> and <a href="/wiki/Camino_(web_browser)" title="Camino (web browser)">Camino</a>) support pipelining; however, it is disabled by default.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10">&#91;10&#93;</a></sup><sup id="cite_ref-11" class="reference"><a href="#cite_note-11">&#91;11&#93;</a></sup> Pipelining is disabled by default to avoid issues with misbehaving servers.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12">&#91;12&#93;</a></sup> When pipelining is enabled, Mozilla browsers use some heuristics, especially to turn pipelining off for older <a href="/wiki/Internet_Information_Services" title="Internet Information Services">IIS</a> servers.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13">&#91;13&#93;</a></sup> Support for H1 Pipeline was removed from Mozilla Firefox in Version 54.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14">&#91;14&#93;</a></sup></li> <li><a href="/wiki/Konqueror" title="Konqueror">Konqueror</a> 2.0 supports pipelining, but disabled by default.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (May 2019)">citation needed</span></a></i>&#93;</sup></li> <li><a href="/wiki/Google_Chrome" title="Google Chrome">Google Chrome</a> previously supported pipelining, but it has been disabled due to bugs and problems with poorly behaving servers.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15">&#91;15&#93;</a></sup></li> <li><a href="/wiki/Pale_Moon_(web_browser)" title="Pale Moon (web browser)">Pale Moon (web browser)</a> supports pipelining, and is enabled by default<sup id="cite_ref-16" class="reference"><a href="#cite_note-16">&#91;16&#93;</a></sup></li></ul> <h3><span class="mw-headline" id="Implementation_in_web_proxies">Implementation in web proxies</span></h3> <p>Most HTTP proxies do not pipeline outgoing requests.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17">&#91;17&#93;</a></sup> </p><p>Some versions of the <a href="/wiki/Squid_(software)" title="Squid (software)">Squid</a> web proxy will pipeline up to two outgoing requests. This functionality has been disabled by default and needs to be manually enabled for "bandwidth management and access logging reasons."<sup id="cite_ref-18" class="reference"><a href="#cite_note-18">&#91;18&#93;</a></sup> Squid supports multiple requests from clients. </p><p>The <a href="/wiki/Polipo" title="Polipo">Polipo</a> proxy pipelines outgoing requests.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19">&#91;19&#93;</a></sup> </p><p>Tempesta FW, an open source <a href="/wiki/Application_delivery_controller" title="Application delivery controller">application delivery controller</a>,<sup id="cite_ref-20" class="reference"><a href="#cite_note-20">&#91;20&#93;</a></sup> also pipelines requests to backend servers.<sup id="cite_ref-21" class="reference"><a href="#cite_note-21">&#91;21&#93;</a></sup> </p> <h3><span class="mw-headline" id="Other_implementations">Other implementations</span></h3> <p>The <a href="/wiki/Libwww" title="Libwww">libwww</a> <a href="/wiki/Library_(computing)" title="Library (computing)">library</a> made by the <a href="/wiki/World_Wide_Web_Consortium" title="World Wide Web Consortium">World Wide Web Consortium</a> (W3C), supports pipelining since version 5.1 released at 18 February 1997.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22">&#91;22&#93;</a></sup> </p><p>Other application development libraries that support HTTP pipelining include: </p> <ul><li>Perl modules providing client support for HTTP pipelining are HTTP::Async and the LWPng (<a href="/wiki/Libwww-perl" class="mw-redirect" title="Libwww-perl">libwww-perl</a> New Generation) library.<sup id="cite_ref-23" class="reference"><a href="#cite_note-23">&#91;23&#93;</a></sup></li> <li><a href="/wiki/Apache_Foundation" class="mw-redirect" title="Apache Foundation">Apache Foundation</a> project <a href="/w/index.php?title=HttpComponents&amp;action=edit&amp;redlink=1" class="new" title="HttpComponents (page does not exist)">HttpComponents</a> provides pipelining support in the HttpCore NIO extensions.</li> <li>The Microsoft <a href="/wiki/.NET_Framework" title=".NET Framework">.NET Framework</a> 3.5 supports HTTP pipelining in the module <code>System.Net.HttpWebRequest</code>.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24">&#91;24&#93;</a></sup></li> <li><a href="/wiki/Qt_(framework)" class="mw-redirect" title="Qt (framework)">Qt</a> class <code>QNetworkRequest</code>, introduced in 4.4.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25">&#91;25&#93;</a></sup></li></ul> <p>Some other applications currently exploiting pipelining are: </p> <ul><li>IceBreak application server since BUILD389</li> <li>phttpget from <a href="/wiki/FreeBSD" title="FreeBSD">FreeBSD</a> (a minimalist pipelined HTTP client)<sup id="cite_ref-26" class="reference"><a href="#cite_note-26">&#91;26&#93;</a></sup></li> <li><a href="/wiki/Libcurl" class="mw-redirect" title="Libcurl">libcurl</a> has limited support for pipelining using the CURLMOPT_PIPELINING option.<sup id="cite_ref-27" class="reference"><a href="#cite_note-27">&#91;27&#93;</a></sup></li> <li><a href="/wiki/Portsnap" title="Portsnap">portsnap</a> (a <a href="/wiki/FreeBSD" title="FreeBSD">FreeBSD</a> <a href="/wiki/FreeBSD_Ports" title="FreeBSD Ports">ports tree</a> distribution system)</li> <li><a href="/wiki/Advanced_Packaging_Tool" class="mw-redirect" title="Advanced Packaging Tool">Advanced Packaging Tool</a> (APT) support pipelining.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (August 2010)">citation needed</span></a></i>&#93;</sup></li> <li><a href="/wiki/Apache_Subversion" title="Apache Subversion">Subversion</a> (SVN) has optional support for HTTP pipelining with the <a href="/w/index.php?title=Serf_(library)&amp;action=edit&amp;redlink=1" class="new" title="Serf (library) (page does not exist)">serf</a> WebDAV access module (the default module, <a href="/wiki/Neon_(library)" title="Neon (library)">neon</a> does not have pipelining support).<sup id="cite_ref-28" class="reference"><a href="#cite_note-28">&#91;28&#93;</a></sup><sup id="cite_ref-29" class="reference"><a href="#cite_note-29">&#91;29&#93;</a></sup></li> <li><a href="/wiki/Microsoft_Message_Queuing" title="Microsoft Message Queuing">Microsoft Message Queuing</a> on <a href="/wiki/Windows_Server_2003" title="Windows Server 2003">Windows Server 2003</a> utilises pipelining on HTTP by default, and can be configured to use it on HTTPS.<sup id="cite_ref-30" class="reference"><a href="#cite_note-30">&#91;30&#93;</a></sup></li> <li>IBM <a href="/wiki/CICS" title="CICS">CICS</a> 3.1 supports HTTP pipelining within its client.<sup id="cite_ref-31" class="reference"><a href="#cite_note-31">&#91;31&#93;</a></sup></li></ul> <p><a href="/w/index.php?title=Multipart_XHR&amp;action=edit&amp;redlink=1" class="new" title="Multipart XHR (page does not exist)">Multipart XHR</a> is implementation of pipelining (without any browser or web server support) done purely in JavaScript in combination with server-side scripting.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (August 2010)">citation needed</span></a></i>&#93;</sup> </p><p>Testing tools which support HTTP pipelining include: </p> <ul><li><a href="/wiki/Httperf" title="Httperf">httperf</a><sup id="cite_ref-32" class="reference"><a href="#cite_note-32">&#91;32&#93;</a></sup></li></ul> <h2><span class="mw-headline" id="See_also">See also</span></h2> <ul><li><a href="/wiki/HTTP_persistent_connection" title="HTTP persistent connection">HTTP persistent connection</a></li> <li><a href="/wiki/WebSocket" title="WebSocket">WebSocket</a></li> <li><a href="/wiki/SPDY" title="SPDY">SPDY</a></li></ul> <h2><span class="mw-headline" id="References">References</span></h2> <div class="reflist" style="list-style-type: decimal;"> <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"><style data-mw-deduplicate="TemplateStyles:r999302996">.mw-parser-output cite.citation{font-style:inherit}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:linear-gradient(transparent,transparent),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 a,.mw-parser-output .citation .cs1-lock-subscription a{background:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration{color:#555}.mw-parser-output .cs1-subscription span,.mw-parser-output .cs1-registration span{border-bottom:1px dotted;cursor:help}.mw-parser-output .cs1-ws-icon a{background:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output code.cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;font-size:100%}.mw-parser-output .cs1-visible-error{font-size:100%}.mw-parser-output .cs1-maint{display:none;color:#33aa33;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left,.mw-parser-output .cs1-kern-wl-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right,.mw-parser-output .cs1-kern-wl-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}</style><cite id="CITEREFNielsenGettysBaird-SmithPrud&#39;hommeaux1997" class="citation web cs1"><a href="/wiki/Henrik_Frystyk_Nielsen" title="Henrik Frystyk Nielsen">Nielsen, Henrik Frystyk</a>; <a href="/wiki/Jim_Gettys" title="Jim Gettys">Gettys, Jim</a>; Baird-Smith, Anselm; Prud'hommeaux, Eric; <a href="/wiki/H%C3%A5kon_Wium_Lie" title="Håkon Wium Lie">Lie, Håkon Wium</a>; <a href="/wiki/Chris_Lilley_(computer_scientist)" title="Chris Lilley (computer scientist)">Lilley, Chris</a> (24 June 1997). <a rel="nofollow" class="external text" href="http://www.w3.org/Protocols/HTTP/Performance/Pipeline.html">"Network Performance Effects of HTTP/1.1, CSS1, and PNG"</a>. World Wide Web Consortium<span class="reference-accessdate">. Retrieved <span class="nowrap">14 January</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=Network+Performance+Effects+of+HTTP%2F1.1%2C+CSS1%2C+and+PNG&amp;rft.pub=World+Wide+Web+Consortium&amp;rft.date=1997-06-24&amp;rft.aulast=Nielsen&amp;rft.aufirst=Henrik+Frystyk&amp;rft.au=Gettys%2C+Jim&amp;rft.au=Baird-Smith%2C+Anselm&amp;rft.au=Prud%27hommeaux%2C+Eric&amp;rft.au=Lie%2C+H%C3%A5kon+Wium&amp;rft.au=Lilley%2C+Chris&amp;rft_id=http%3A%2F%2Fwww.w3.org%2FProtocols%2FHTTP%2FPerformance%2FPipeline.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" class="Z3988"></span></span> </li> <li id="cite_note-pipeline-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-pipeline_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-pipeline_2-1"><sup><i><b>b</b></i></sup></a></span> <span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: The named reference <code>pipeline</code> was invoked but never defined (see the <a href="/wiki/Help:Cite_errors/Cite_error_references_no_text" title="Help:Cite errors/Cite error references no text">help page</a>). </span></li> <li id="cite_note-lwnspdy-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-lwnspdy_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-lwnspdy_3-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"/><cite id="CITEREFWillis2009" class="citation web cs1">Willis, Nathan (18 November 2009). <a rel="nofollow" class="external text" href="https://lwn.net/Articles/362473/">"Reducing HTTP latency with SPDY"</a>. <a href="/wiki/LWN.net" title="LWN.net">LWN.net</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=Reducing+HTTP+latency+with+SPDY&amp;rft.pub=LWN.net&amp;rft.date=2009-11-18&amp;rft.aulast=Willis&amp;rft.aufirst=Nathan&amp;rft_id=https%3A%2F%2Flwn.net%2FArticles%2F362473%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" class="Z3988"></span></span> </li> <li id="cite_note-:0-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-:0_4-0">^</a></b></span> <span class="error mw-ext-cite-error" lang="en" dir="ltr">Cite error: The named reference <code>:0</code> was invoked but never defined (see the <a href="/wiki/Help:Cite_errors/Cite_error_references_no_text" title="Help:Cite errors/Cite error references no text">help page</a>). </span></li> <li id="cite_note-non-idempotent-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-non-idempotent_5-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html">"Connections"</a>. <a href="/wiki/W3.org" class="mw-redirect" title="W3.org">w3.org</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=Connections&amp;rft.pub=w3.org&amp;rft_id=http%3A%2F%2Fwww.w3.org%2FProtocols%2Frfc2616%2Frfc2616-sec8.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" 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:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www-archive.mozilla.org/projects/netlib/http/pipelining-faq.html">"HTTP/1.1 Pipelining FAQ<span class="cs1-kern-right">'</span>"</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=HTTP%2F1.1+Pipelining+FAQ%27&amp;rft_id=https%3A%2F%2Fwww-archive.mozilla.org%2Fprojects%2Fnetlib%2Fhttp%2Fpipelining-faq.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" 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:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20160424204340/http://www8.org/w8-papers/5c-protocols/key/key.html">"Archived copy"</a>. Archived from <a rel="nofollow" class="external text" href="http://www8.org/w8-papers/5c-protocols/key/key.html">the original</a> on 2016-04-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-04-16</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=Archived+copy&amp;rft_id=http%3A%2F%2Fwww8.org%2Fw8-papers%2F5c-protocols%2Fkey%2Fkey.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" class="Z3988"></span><span class="cs1-maint citation-comment">CS1 maint: archived copy as title (<a href="/wiki/Category:CS1_maint:_archived_copy_as_title" title="Category:CS1 maint: archived copy as title">link</a>)</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"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20101204053757/http://www.microsoft.com/windowsxp/expertzone/chats/transcripts/08_0814_ez_ie8.mspx">"Wayback link of 'Windows Internet Explorer 8 Expert Zone Chat (August 14, 2008)<span class="cs1-kern-right">'</span>"</a>. <a href="/wiki/Microsoft" title="Microsoft">Microsoft</a>. August 14, 2008. Archived from <a rel="nofollow" class="external text" href="http://www.microsoft.com/windowsxp/expertzone/chats/transcripts/08_0814_ez_ie8.mspx">the original</a> on December 4, 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">May 10,</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=Wayback+link+of+%27Windows+Internet+Explorer+8+Expert+Zone+Chat+%28August+14%2C+2008%29%27&amp;rft.pub=Microsoft&amp;rft.date=2008-08-14&amp;rft_id=http%3A%2F%2Fwww.microsoft.com%2Fwindowsxp%2Fexpertzone%2Fchats%2Ftranscripts%2F08_0814_ez_ie8.mspx&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" class="Z3988"></span></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:r999302996"/><cite class="citation news cs1"><a rel="nofollow" class="external text" href="https://blogs.msdn.microsoft.com/ie/2005/04/11/internet-explorer-and-connection-limits/">"Internet Explorer and Connection Limits"</a>. <i>IEBlog</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2016-11-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=IEBlog&amp;rft.atitle=Internet+Explorer+and+Connection+Limits&amp;rft_id=https%3A%2F%2Fblogs.msdn.microsoft.com%2Fie%2F2005%2F04%2F11%2Finternet-explorer-and-connection-limits%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" 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"><a rel="nofollow" class="external text" href="http://kb.mozillazine.org/Network.http.pipelining">Pipelining Network</a> <a href="/wiki/MozillaZine" title="MozillaZine">MozillaZine</a></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:r999302996"/><cite id="CITEREFCheah_Chu_Yeow" class="citation book cs1">Cheah Chu Yeow. <span class="cs1-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/firefoxsecrets0000chea/page/180"><i>Firefox secrets</i></a></span>. p.&#160;<a rel="nofollow" class="external text" href="https://archive.org/details/firefoxsecrets0000chea/page/180">180</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-9752402-4-2" title="Special:BookSources/0-9752402-4-2"><bdi>0-9752402-4-2</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Firefox+secrets&amp;rft.pages=180&amp;rft.isbn=0-9752402-4-2&amp;rft.au=Cheah+Chu+Yeow&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Ffirefoxsecrets0000chea%2Fpage%2F180&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" 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:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://bugzilla.mozilla.org/show_bug.cgi?id=264354">"Bug 264354: Enable HTTP pipelining by default"</a>. <a href="/wiki/Mozilla" title="Mozilla">Mozilla</a><span class="reference-accessdate">. Retrieved <span class="nowrap">September 16,</span> 2011</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=Bug+264354%3A+Enable+HTTP+pipelining+by+default&amp;rft.pub=Mozilla&amp;rft_id=https%3A%2F%2Fbugzilla.mozilla.org%2Fshow_bug.cgi%3Fid%3D264354&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" 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:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://hg.mozilla.org/releases/mozilla-2.0/file/09565753ce5f/netwerk/protocol/http/src/nsHttpConnection.cpp#l251">"Source code – nsHttpConnection.cpp"</a>. <i>Firefox source code</i>. Mozilla. May 7, 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">December 5,</span> 2010</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=Firefox+source+code&amp;rft.atitle=Source+code+%E2%80%93+nsHttpConnection.cpp&amp;rft.date=2010-05-07&amp;rft_id=https%3A%2F%2Fhg.mozilla.org%2Freleases%2Fmozilla-2.0%2Ffile%2F09565753ce5f%2Fnetwerk%2Fprotocol%2Fhttp%2Fsrc%2FnsHttpConnection.cpp%23l251&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" 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:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1340655">"Bug 1340655: Remove H1 Pipeline Support"</a>. <a href="/wiki/Mozilla" title="Mozilla">Mozilla</a><span class="reference-accessdate">. Retrieved <span class="nowrap">March 22,</span> 2017</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=Bug+1340655%3A+Remove+H1+Pipeline+Support&amp;rft.pub=Mozilla&amp;rft_id=https%3A%2F%2Fbugzilla.mozilla.org%2Fshow_bug.cgi%3Fid%3D1340655&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" 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"><a rel="nofollow" class="external text" href="https://www.chromium.org/developers/design-documents/network-stack/http-pipelining">HTTP Pipelining - The Chromium Projects</a></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:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://forum.palemoon.org/viewtopic.php?f=5&amp;t=16869&amp;p=123455">"HTTP/1 Pipelining support has been removed in Firefox 54 - Pale Moon forum"</a>. <i>forum.palemoon.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2018-06-07</span></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=forum.palemoon.org&amp;rft.atitle=HTTP%2F1+Pipelining+support+has+been+removed+in+Firefox+54+-+Pale+Moon+forum&amp;rft_id=https%3A%2F%2Fforum.palemoon.org%2Fviewtopic.php%3Ff%3D5%26t%3D16869%26p%3D123455&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" 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:r999302996"/><cite id="CITEREFMark_Nottingham2007" class="citation web cs1"><a href="/wiki/Mark_Nottingham" title="Mark Nottingham">Mark Nottingham</a> (June 20, 2007). <a rel="nofollow" class="external text" href="http://www.mnot.net/blog/2007/06/20/proxy_caching">"The State of Proxy Caching"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">May 16,</span> 2009</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=The+State+of+Proxy+Caching&amp;rft.date=2007-06-20&amp;rft.au=Mark+Nottingham&amp;rft_id=http%3A%2F%2Fwww.mnot.net%2Fblog%2F2007%2F06%2F20%2Fproxy_caching&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" class="Z3988"></span></span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.squid-cache.org/Doc/config/pipeline_prefetch/">"squid&#160;: pipeline_prefetch configuration directive"</a>. <a href="/wiki/Squid_(software)" title="Squid (software)">Squid</a>. November 9, 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">December 1,</span> 2009</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=squid+%3A+pipeline_prefetch+configuration+directive&amp;rft.pub=Squid&amp;rft.date=2009-11-09&amp;rft_id=http%3A%2F%2Fwww.squid-cache.org%2FDoc%2Fconfig%2Fpipeline_prefetch%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" 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:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.pps.jussieu.fr/~jch/software/polipo/">"Polipo — a caching web proxy"</a>. Juliusz Chroboczek. September 18, 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">November 12,</span> 2009</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=Polipo+%E2%80%94+a+caching+web+proxy&amp;rft.pub=Juliusz+Chroboczek&amp;rft.date=2009-09-18&amp;rft_id=http%3A%2F%2Fwww.pps.jussieu.fr%2F~jch%2Fsoftware%2Fpolipo%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" 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:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/tempesta-tech/tempesta">"Tempesta FW — a Linux Application Delivery Controller"</a>. GitHub<span class="reference-accessdate">. Retrieved <span class="nowrap">March 29,</span> 2018</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=Tempesta+FW+%E2%80%94+a+Linux+Application+Delivery+Controller&amp;rft.pub=GitHub&amp;rft_id=https%3A%2F%2Fgithub.com%2Ftempesta-tech%2Ftempesta&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" 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:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/tempesta-tech/tempesta/wiki/Servers:-Tempesta&#39;s-side">"Servers: Tempesta's side - tempesta-tech/tempesta Wiki"</a>. Tempesta Technologies INC. August 1, 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">March 29,</span> 2018</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=Servers%3A+Tempesta%27s+side+-+tempesta-tech%2Ftempesta+Wiki&amp;rft.pub=Tempesta+Technologies+INC&amp;rft.date=2017-08-01&amp;rft_id=https%3A%2F%2Fgithub.com%2Ftempesta-tech%2Ftempesta%2Fwiki%2FServers%3A-Tempesta%27s-side&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" class="Z3988"></span></span> </li> <li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"/><cite id="CITEREFKahan2002" class="citation web cs1">Kahan, José (June 7, 2002). <a rel="nofollow" class="external text" href="http://www.w3.org/Library/User/History.html">"Change History of libwww"</a>. <a href="/wiki/World_Wide_Web_Consortium" title="World Wide Web Consortium">World Wide Web Consortium</a><span class="reference-accessdate">. Retrieved <span class="nowrap">August 3,</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=Change+History+of+libwww&amp;rft.pub=World+Wide+Web+Consortium&amp;rft.date=2002-06-07&amp;rft.aulast=Kahan&amp;rft.aufirst=Jos%C3%A9&amp;rft_id=http%3A%2F%2Fwww.w3.org%2FLibrary%2FUser%2FHistory.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" 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:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20120310042434/http://miltonkeynes.pm.org/talks/2010/02/colin_bradford_http_async.pdf">"Using HTTP::Async for Parallel HTTP Requests (Colin Bradford)"</a> <span class="cs1-format">(PDF)</span>. Archived from <a rel="nofollow" class="external text" href="http://miltonkeynes.pm.org/talks/2010/02/colin_bradford_http_async.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2012-03-10<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-08-03</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=Using+HTTP%3A%3AAsync+for+Parallel+HTTP+Requests+%28Colin+Bradford%29&amp;rft_id=http%3A%2F%2Fmiltonkeynes.pm.org%2Ftalks%2F2010%2F02%2Fcolin_bradford_http_async.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" 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"><a rel="nofollow" class="external text" href="http://blogs.msdn.com/b/mflasko/archive/2006/07/17/669293.aspx">System.Net.HttpWebRequest &amp; pipelining</a></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"><a rel="nofollow" class="external text" href="http://doc.qt.nokia.com/4.6/qnetworkrequest.html">QNetworkRequest Class Reference</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20091222054207/http://doc.qt.nokia.com/4.6/qnetworkrequest.html">Archived</a> 2009-12-22 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>, Nokia QT documentation</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"><a rel="nofollow" class="external text" href="http://www.daemonology.net/phttpget/">Pipelined HTTP GET utility</a></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"><a rel="nofollow" class="external text" href="http://curl.haxx.se/dev/readme-pipelining.html">Curl pipelining explanation</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120627181619/http://curl.haxx.se/dev/readme-pipelining.html">Archived</a> 2012-06-27 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>, Curl developer documentation</span> </li> <li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"/><cite id="CITEREFC._Michael_PilatoBen_Collins-SussmanBrian_W._Fitzpatrick2008" class="citation book cs1">C. Michael Pilato; Ben Collins-Sussman; Brian W. Fitzpatrick (2008). <i>Version Control with Subversion</i>. <a href="/wiki/O%27Reilly_Media" title="O&#39;Reilly Media">O'Reilly Media</a>. p.&#160;238. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-596-51033-0" title="Special:BookSources/0-596-51033-0"><bdi>0-596-51033-0</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Version+Control+with+Subversion&amp;rft.pages=238&amp;rft.pub=O%27Reilly+Media&amp;rft.date=2008&amp;rft.isbn=0-596-51033-0&amp;rft.au=C.+Michael+Pilato&amp;rft.au=Ben+Collins-Sussman&amp;rft.au=Brian+W.+Fitzpatrick&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" class="Z3988"></span></span> </li> <li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"/><cite id="CITEREFJustin_R._Erenkrantz2007" class="citation web cs1">Justin R. Erenkrantz (2007). <a rel="nofollow" class="external text" href="http://www.erenkrantz.com/oscon/OSCON%202007%20Subversion%20New%20Toys.pdf">"Subversion: Powerful New Toys"</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=Subversion%3A+Powerful+New+Toys&amp;rft.date=2007&amp;rft.au=Justin+R.+Erenkrantz&amp;rft_id=http%3A%2F%2Fwww.erenkrantz.com%2Foscon%2FOSCON%25202007%2520Subversion%2520New%2520Toys.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" class="Z3988"></span></span> </li> <li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://technet.microsoft.com/en-us/library/cc737394%28WS.10%29.aspx">"HTTP/HTTPS messages"</a>. <a href="/wiki/Microsoft_TechNet" title="Microsoft TechNet">Microsoft TechNet</a>. January 21, 2005.</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=HTTP%2FHTTPS+messages&amp;rft.pub=Microsoft+TechNet&amp;rft.date=2005-01-21&amp;rft_id=https%3A%2F%2Ftechnet.microsoft.com%2Fen-us%2Flibrary%2Fcc737394%2528WS.10%2529.aspx&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" class="Z3988"></span></span> </li> <li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp?topic=/com.ibm.cics.ts31.doc/dfhtl/topics/dfhtl_cwspipelining.htm">How CICS Web support handles pipelining</a></span> </li> <li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20120608143409/http://www.hpl.hp.com/research/linux/httperf/">"HTTP Website"</a>. Archived from <a rel="nofollow" class="external text" href="http://www.hpl.hp.com/research/linux/httperf/">the original</a> on 2012-06-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-10-01</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=HTTP+Website&amp;rft_id=http%3A%2F%2Fwww.hpl.hp.com%2Fresearch%2Flinux%2Fhttperf%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" class="Z3988"></span></span> </li> </ol></div></div> <h2><span class="mw-headline" id="External_links">External links</span></h2> <ul><li><a class="external mw-magiclink-rfc" rel="nofollow" href="https://tools.ietf.org/html/rfc7230">RFC 7230</a> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"/><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://tools.ietf.org/html/rfc7230#section-6.3.2">"Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing"</a>. ietf.org<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-07-24</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=Hypertext+Transfer+Protocol+%28HTTP%2F1.1%29%3A+Message+Syntax+and+Routing&amp;rft.pub=ietf.org&amp;rft_id=http%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc7230%23section-6.3.2&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHTTP+pipelining" class="Z3988"></span></li> <li><a rel="nofollow" class="external text" href="https://www.mozilla.org/projects/netlib/http/pipelining-faq.html">HTTP/1.1 Pipelining FAQ at mozilla.org</a></li> <li><a rel="nofollow" class="external text" href="https://www.w3.org/Protocols/HTTP/Performance/Pipeline.html">"Network Performance Effects of HTTP/1.1, CSS1, and PNG" at w3.org</a></li> <li><a rel="nofollow" class="external text" href="https://www.die.net/musings/page_load_time/">"Optimizing Page Load Times" article</a></li> <li><a rel="nofollow" class="external text" href="https://www.daemonology.net/phttpget/">phttpget</a></li> <li><a rel="nofollow" class="external text" href="https://code.google.com/p/serf/">serf</a> C library</li></ul> '
Whether or not the change was made through a Tor exit node (tor_exit_node)
false
Unix timestamp of change (timestamp)
1612889632