{"id":22145,"date":"2014-07-07T15:47:50","date_gmt":"2014-07-07T13:47:50","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=22145"},"modified":"2014-07-07T15:47:50","modified_gmt":"2014-07-07T13:47:50","slug":"browser-support-for-urls-beginning-with-double-slash","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2014\/07\/07\/browser-support-for-urls-beginning-with-double-slash\/","title":{"rendered":"Browser support for URLs beginning with double slash"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>For some reason, I keep forgetting if double slash URLs are supported in older browsers or not. \u00a0Maybe if I post <a href=\"http:\/\/stackoverflow.com\/a\/9632363\">the answer<\/a> from <a href=\"http:\/\/stackoverflow.com\/questions\/6785442\/browser-support-for-urls-beginning-with-double-slash\">this StackOverflow\u00a0question<\/a> here, I will remember it myself next time:<\/p>\n<blockquote><p>This behavior was part of <a href=\"http:\/\/www.ietf.org\/rfc\/rfc1808.txt\">RFC 1808<\/a> (Section 4) which is about 16 years old, so every major browser should (and does) support this.<\/p>\n<p>Sadly, there&#8217;s <a href=\"http:\/\/paulirish.com\/2010\/the-protocol-relative-url\/\">a bug with IE7 and -8<\/a> that will make them download the resources twice if a protocol-relative URL is used on a <strong><em>link<\/em><\/strong> or <strong><em>@import<\/em><\/strong> &#8211; which shouldn&#8217;t be a big problem, but is ugly and should be kept in mind.<\/p><\/blockquote>\n<p>So, that might be a problem for the CSS, but the JavaScript and images should work just fine.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>For some reason, I keep forgetting if double slash URLs are supported in older browsers or not. \u00a0Maybe if I post the answer from this StackOverflow\u00a0question here, I will remember it myself next time: This behavior was part of RFC 1808 (Section 4) which is about 16 years old, so every major browser should (and &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2014\/07\/07\/browser-support-for-urls-beginning-with-double-slash\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Browser support for URLs beginning with double slash<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[20,1190,1139],"keyring_services":[],"class_list":["post-22145","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-browsers","tag-html","tag-javascript"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":22177,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/07\/12\/breach-a-browser-written-entirely-in-javascript\/","url_meta":{"origin":22145,"position":0},"title":"Breach &#8211; a browser written entirely in JavaScript","author":"Leonid Mamchenkov","date":"July 12, 2014","format":"link","excerpt":"Breach - a browser written entirely in JavaScript. \u00a0Free, modular, hackable, Open Source.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"Breach","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/07\/Breach-500x395.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":22412,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/08\/20\/modernizr-avascript-library-that-detects-html5-and-css3-features-in-the-browser\/","url_meta":{"origin":22145,"position":1},"title":"Modernizr &#8211; JavaScript library that detects HTML5 and CSS3 features in the browser","author":"Leonid Mamchenkov","date":"August 20, 2014","format":"link","excerpt":"Modernizr - JavaScript library that detects HTML5 and CSS3 features in the browser.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":20144,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/02\/01\/nightwatch-js-browser-automated-testing-done-easy\/","url_meta":{"origin":22145,"position":2},"title":"Nightwatch.js &#8211; browser automated testing done easy","author":"Leonid Mamchenkov","date":"February 1, 2014","format":"link","excerpt":"Nightwatch.js - browser automated testing done easy","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"demo","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/02\/demo-500x374.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":12046,"url":"https:\/\/mamchenkov.net\/wordpress\/2009\/12\/09\/web-statistics-and-visitor-tracking-things-you-need-to-know\/","url_meta":{"origin":22145,"position":3},"title":"Web statistics and visitor tracking : things you need to know","author":"Leonid Mamchenkov","date":"December 9, 2009","format":false,"excerpt":"First of all, just to make it clear, I don't recommend writing your own web statistics \/ analytics \/ tracking application. \u00a0Google Analytics can track and report pretty much everything you will ever need. Period. If you think it can't do it, chances are you just don't know how. \u00a0That's\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":19979,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/01\/28\/testling-ci-run-your-browser-tests-on-every-push\/","url_meta":{"origin":22145,"position":4},"title":"testling-ci &#8211; run your browser tests on every push","author":"Leonid Mamchenkov","date":"January 28, 2014","format":"link","excerpt":"testling-ci - run your browser tests on every push","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":28618,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/06\/10\/capture-and-report-javascript-errors-with-window-onerror\/","url_meta":{"origin":22145,"position":5},"title":"Capture and Report JavaScript Errors with window.onerror","author":"Leonid Mamchenkov","date":"June 10, 2018","format":false,"excerpt":"\"Capture and Report JavaScript Errors with window.onerror\" tutorial shows an easy way to capture, log and troubleshoot client-side errors: onerror\u00a0is a special browser event that fires whenever an uncaught\u00a0JavaScript errorhas been thrown. It's one of the easiest ways to log client-side errors and report them to your servers. It's also\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/22145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=22145"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/22145\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=22145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=22145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=22145"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=22145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}