{"id":18849,"date":"2022-06-06T23:06:52","date_gmt":"2022-06-06T21:06:52","guid":{"rendered":"https:\/\/daniel.haxx.se\/blog\/?p=18849"},"modified":"2022-06-06T23:06:52","modified_gmt":"2022-06-06T21:06:52","slug":"new-http-core-specs","status":"publish","type":"post","link":"https:\/\/daniel.haxx.se\/blog\/2022\/06\/06\/new-http-core-specs\/","title":{"rendered":"New HTTP core specs"},"content":{"rendered":"\n<p>Before this, the latest refreshed specification of HTTP\/1.1 was done in the <a href=\"https:\/\/daniel.haxx.se\/blog\/2014\/06\/07\/bye-bye-rfc-2616\/\" data-type=\"post\" data-id=\"5938\">RFC 7230 series<\/a>, published in June 2014.  After that, <a href=\"https:\/\/daniel.haxx.se\/blog\/2015\/05\/15\/rfc-7540-is-http2\/\" data-type=\"post\" data-id=\"7069\">HTTP\/2 was done<\/a> in the spring of 2015 and recently the HTTP\/3 spec has been a work in progress.<\/p>\n\n\n\n<p>To better reflect this new world of multiple HTTP versions and an HTTP protocol ecosystem that has some parts that are common for all versions and some other parts that are specific for each particular version, the team behind this refresh has been working on this updated series.<\/p>\n\n\n\n<p>My favorite documents in this &#8220;cluster&#8221; are:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP Semantics<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html\">RFC 9110<\/a> basically describes how HTTP works independently of and across versions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP\/1.1<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9112.html\">RFC 9112<\/a> replaces 7230.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP\/2<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9113.html\">RFC 9113<\/a> replaces 7540.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP\/3<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9114.html\">RFC 9114<\/a> is finally the version three of the protocol in a published specification.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2022\/06\/HTTP_3-in-curl-_-curl-up-20222.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2022\/06\/HTTP_3-in-curl-_-curl-up-20222.jpg\" alt=\"\" class=\"wp-image-19347\"\/><\/a><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Credits<\/h2>\n\n\n\n<p>Top image by <a href=\"https:\/\/pixabay.com\/users\/blende12-201217\/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=1659717\">Gerhard G.<\/a> from <a href=\"https:\/\/pixabay.com\/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=1659717\">Pixabay<\/a>. The HTTP stack image is done by me, Daniel.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Before this, the latest refreshed specification of HTTP\/1.1 was done in the RFC 7230 series, published in June 2014. After that, HTTP\/2 was done in the spring of 2015 and recently the HTTP\/3 spec has been a work in progress. To better reflect this new world of multiple HTTP versions and an HTTP protocol ecosystem &hellip; <a href=\"https:\/\/daniel.haxx.se\/blog\/2022\/06\/06\/new-http-core-specs\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">New HTTP core specs<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":18919,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[455,230,436,369],"class_list":["post-18849","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-curl","tag-documentation","tag-http","tag-http3","tag-http2"],"_links":{"self":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/18849","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/comments?post=18849"}],"version-history":[{"count":10,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/18849\/revisions"}],"predecessor-version":[{"id":19349,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/18849\/revisions\/19349"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media\/18919"}],"wp:attachment":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media?parent=18849"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/categories?post=18849"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/tags?post=18849"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}