{"id":1783,"date":"2021-04-10T08:40:15","date_gmt":"2021-04-10T08:40:15","guid":{"rendered":"https:\/\/gauravw.com\/blog\/?p=1783"},"modified":"2021-04-10T08:40:28","modified_gmt":"2021-04-10T08:40:28","slug":"http-versions","status":"publish","type":"post","link":"https:\/\/gauravw.com\/blog\/2021\/04\/http-versions\/","title":{"rendered":"HTTP versions"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><strong>1.0\u00a0<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1995 &#8211; had to establish a new connection for every request and the connection would close after it. So if a webpage had 4 images so 5 requests need to be established including for 1 for the html page.<br>This is <strong>TCP <\/strong>slow start.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1.1\u00a0<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1995 &#8211; Till 2015 &#8211; had introduced a <strong>keep alive<\/strong> header so connection once established would continue for a certain period.This way it was more speedy. (persistent connections)<br>It also introduced <strong>Options header <\/strong>to know HTTP servers ability.<br><strong>Compression<\/strong><br><strong>Chunked transfer<\/strong> &#8211; response was sent for dynamic pages before its actual size was known&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Multiple domains<\/strong> from one IP address &#8211; helped in saving address space<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Multiplexing Streams -Multiple streams in One TCP connection . Instead of TCP the flow is controlled by server and client instead of TCP. So the ordering which images to load first and later can be decided. So the perceived improved performance<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Server Push &#8211; if we load a HTML page and it requires additional resources like CSS etc to load it can be sent by the server itself to improve the performance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Compression &#8211; improvised. The header size is reduced as it is compressed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Still experimental. Developed by google. Makes use UDP with congestion control instead of TCP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No Cache &#8211;&nbsp;<\/p>\n\n<!--themify_builder_content-->\n<div id=\"themify_builder_content-1783\" data-postid=\"1783\" class=\"themify_builder_content themify_builder_content-1783 themify_builder tf_clear\">\n    <\/div>\n<!--\/themify_builder_content-->","protected":false},"excerpt":{"rendered":"<p>1.0\u00a0 1995 &#8211; had to establish a new connection for every request and the connection would close after it. So if a webpage had 4 images so 5 requests need to be established including for 1 for the html page.This is TCP slow start. 1.1\u00a0 1995 &#8211; Till 2015 &#8211; had introduced a keep alive [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[97],"tags":[],"class_list":["post-1783","post","type-post","status-publish","format-standard","hentry","category-tech-learnings","has-post-title","has-post-date","has-post-category","has-post-tag","has-post-comment","has-post-author",""],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>HTTP versions &#187; Gaurav Wadhwani<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gauravw.com\/blog\/2021\/04\/http-versions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"HTTP versions &#187; Gaurav Wadhwani\" \/>\n<meta property=\"og:description\" content=\"1.0\u00a0 1995 &#8211; had to establish a new connection for every request and the connection would close after it. So if a webpage had 4 images so 5 requests need to be established including for 1 for the html page.This is TCP slow start. 1.1\u00a0 1995 &#8211; Till 2015 &#8211; had introduced a keep alive [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gauravw.com\/blog\/2021\/04\/http-versions\/\" \/>\n<meta property=\"og:site_name\" content=\"Gaurav Wadhwani\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-10T08:40:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-04-10T08:40:28+00:00\" \/>\n<meta name=\"author\" content=\"Gaurav Wadhwani\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gaurav Wadhwani\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/2021\\\/04\\\/http-versions\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/2021\\\/04\\\/http-versions\\\/\"},\"author\":{\"name\":\"Gaurav Wadhwani\",\"@id\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/#\\\/schema\\\/person\\\/9a05a9c3487f35f6b4577c6956cf252e\"},\"headline\":\"HTTP versions\",\"datePublished\":\"2021-04-10T08:40:15+00:00\",\"dateModified\":\"2021-04-10T08:40:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/2021\\\/04\\\/http-versions\\\/\"},\"wordCount\":209,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/#\\\/schema\\\/person\\\/9a05a9c3487f35f6b4577c6956cf252e\"},\"articleSection\":[\"Tech Learnings\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/gauravw.com\\\/blog\\\/2021\\\/04\\\/http-versions\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/2021\\\/04\\\/http-versions\\\/\",\"url\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/2021\\\/04\\\/http-versions\\\/\",\"name\":\"HTTP versions &#187; Gaurav Wadhwani\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/#website\"},\"datePublished\":\"2021-04-10T08:40:15+00:00\",\"dateModified\":\"2021-04-10T08:40:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/2021\\\/04\\\/http-versions\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/gauravw.com\\\/blog\\\/2021\\\/04\\\/http-versions\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/2021\\\/04\\\/http-versions\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"HTTP versions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/\",\"name\":\"Gaurav Wadhwani\",\"description\":\"Where I write \\\/ scribble\",\"publisher\":{\"@id\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/#\\\/schema\\\/person\\\/9a05a9c3487f35f6b4577c6956cf252e\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/gauravw.com\\\/blog\\\/#\\\/schema\\\/person\\\/9a05a9c3487f35f6b4577c6956cf252e\",\"name\":\"Gaurav Wadhwani\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/788ed9666a6c4e011516ae9c744df4be274dcf933161c99a4ec7e06311d2d416?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/788ed9666a6c4e011516ae9c744df4be274dcf933161c99a4ec7e06311d2d416?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/788ed9666a6c4e011516ae9c744df4be274dcf933161c99a4ec7e06311d2d416?s=96&d=mm&r=g\",\"caption\":\"Gaurav Wadhwani\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/788ed9666a6c4e011516ae9c744df4be274dcf933161c99a4ec7e06311d2d416?s=96&d=mm&r=g\"},\"sameAs\":[\"http:\\\/\\\/gauravw.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"HTTP versions &#187; Gaurav Wadhwani","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gauravw.com\/blog\/2021\/04\/http-versions\/","og_locale":"en_US","og_type":"article","og_title":"HTTP versions &#187; Gaurav Wadhwani","og_description":"1.0\u00a0 1995 &#8211; had to establish a new connection for every request and the connection would close after it. So if a webpage had 4 images so 5 requests need to be established including for 1 for the html page.This is TCP slow start. 1.1\u00a0 1995 &#8211; Till 2015 &#8211; had introduced a keep alive [&hellip;]","og_url":"https:\/\/gauravw.com\/blog\/2021\/04\/http-versions\/","og_site_name":"Gaurav Wadhwani","article_published_time":"2021-04-10T08:40:15+00:00","article_modified_time":"2021-04-10T08:40:28+00:00","author":"Gaurav Wadhwani","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Gaurav Wadhwani","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gauravw.com\/blog\/2021\/04\/http-versions\/#article","isPartOf":{"@id":"https:\/\/gauravw.com\/blog\/2021\/04\/http-versions\/"},"author":{"name":"Gaurav Wadhwani","@id":"https:\/\/gauravw.com\/blog\/#\/schema\/person\/9a05a9c3487f35f6b4577c6956cf252e"},"headline":"HTTP versions","datePublished":"2021-04-10T08:40:15+00:00","dateModified":"2021-04-10T08:40:28+00:00","mainEntityOfPage":{"@id":"https:\/\/gauravw.com\/blog\/2021\/04\/http-versions\/"},"wordCount":209,"commentCount":0,"publisher":{"@id":"https:\/\/gauravw.com\/blog\/#\/schema\/person\/9a05a9c3487f35f6b4577c6956cf252e"},"articleSection":["Tech Learnings"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/gauravw.com\/blog\/2021\/04\/http-versions\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/gauravw.com\/blog\/2021\/04\/http-versions\/","url":"https:\/\/gauravw.com\/blog\/2021\/04\/http-versions\/","name":"HTTP versions &#187; Gaurav Wadhwani","isPartOf":{"@id":"https:\/\/gauravw.com\/blog\/#website"},"datePublished":"2021-04-10T08:40:15+00:00","dateModified":"2021-04-10T08:40:28+00:00","breadcrumb":{"@id":"https:\/\/gauravw.com\/blog\/2021\/04\/http-versions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gauravw.com\/blog\/2021\/04\/http-versions\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/gauravw.com\/blog\/2021\/04\/http-versions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gauravw.com\/blog\/"},{"@type":"ListItem","position":2,"name":"HTTP versions"}]},{"@type":"WebSite","@id":"https:\/\/gauravw.com\/blog\/#website","url":"https:\/\/gauravw.com\/blog\/","name":"Gaurav Wadhwani","description":"Where I write \/ scribble","publisher":{"@id":"https:\/\/gauravw.com\/blog\/#\/schema\/person\/9a05a9c3487f35f6b4577c6956cf252e"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gauravw.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/gauravw.com\/blog\/#\/schema\/person\/9a05a9c3487f35f6b4577c6956cf252e","name":"Gaurav Wadhwani","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/788ed9666a6c4e011516ae9c744df4be274dcf933161c99a4ec7e06311d2d416?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/788ed9666a6c4e011516ae9c744df4be274dcf933161c99a4ec7e06311d2d416?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/788ed9666a6c4e011516ae9c744df4be274dcf933161c99a4ec7e06311d2d416?s=96&d=mm&r=g","caption":"Gaurav Wadhwani"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/788ed9666a6c4e011516ae9c744df4be274dcf933161c99a4ec7e06311d2d416?s=96&d=mm&r=g"},"sameAs":["http:\/\/gauravw.com"]}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"builder_content":"","_links":{"self":[{"href":"https:\/\/gauravw.com\/blog\/wp-json\/wp\/v2\/posts\/1783","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gauravw.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gauravw.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gauravw.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gauravw.com\/blog\/wp-json\/wp\/v2\/comments?post=1783"}],"version-history":[{"count":1,"href":"https:\/\/gauravw.com\/blog\/wp-json\/wp\/v2\/posts\/1783\/revisions"}],"predecessor-version":[{"id":1784,"href":"https:\/\/gauravw.com\/blog\/wp-json\/wp\/v2\/posts\/1783\/revisions\/1784"}],"wp:attachment":[{"href":"https:\/\/gauravw.com\/blog\/wp-json\/wp\/v2\/media?parent=1783"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gauravw.com\/blog\/wp-json\/wp\/v2\/categories?post=1783"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gauravw.com\/blog\/wp-json\/wp\/v2\/tags?post=1783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}