Jens Oliver Meiert

Performance and RFC 2396

Post from February 18, 2009 (↻ January 2, 2017), filed under .

This and many other posts are also available as a pretty, well-behaved e-book: On Web Development.

RFC 2396 specifies that relative URIs like //foo get resolved as http://foo. This means, if you link a resource like http://example.com/, @href may as well just point to //example.com/.

“Normal examples” snippet, RFC 2396.

Figure: An image that wouldn’t be there if @src couldn’t start with //.

This has two advantages: You can avoid security alerts when juggling with and switching between http and https, and you can save a couple of characters per URI reference. But I’m saying that just to inspire performance critics who already and with great joy discussed general advantages of HTML, including omitting optional tags.

Since this part of RFC 2396, seen as a whole, is still relatively new to me feel free to add to this. I’m just curious and love experimenting. So after I verified that all major browsers support the // syntax I actually created a “honeypot” test page to see whether that page gets indexed properly by search engines. Watch this space for the findings.

Update (February 28, 2009)

As it seems, all major search engines followed the “hidden” links to the RFC 2396/3986 test page I set up: Google was first, Yahoo, Microsoft’s Live Search, and Altavista followed over the last days. There’s a slim chance that the test might have been compromised, but there are no indicators whatsoever solidifying that concern.

Update (June 28, 2013)

We’ve found this practice so useful, it’s common practice now.

About the Author

Jens Oliver Meiert, photo of July 27, 2015.

Jens Oliver Meiert is a developer (O’Reilly, W3C, ex-Google) and philosopher. He experiments with art and adventure. Here on meiert.com he shares and generalizes and exaggerates some of his thoughts and experiences.

There’s more Jens in the archives and at Amazon. If you have any questions or concerns (or recommendations) about what he writes, leave a comment or a message.

Comments (Closed)

  1. On February 18, 2009, 11:09 CET, Kroc Camen said:

    Most excellent, I really look forward to your findings. This syntax will be especially pertinent to the regex I use for publishing.

  2. On February 18, 2009, 21:49 CET, potherca said:

    I come from a back-end development background myself and for the last year or so I’ve been delving deeper and deeper into the front-end. This is one of those fun little quirks I really enjoy to encounter… Just thinking out loud here, but I wonder how this compliments/collides with (for example) user-input validation?
    Looking explicitly for a http:// isn’t necessary… things could be greatly simplified. Links only need to be / (on-site) or // (off-site).

    What fun 😉

    Like the right honorable K. Camen, I to am looking forward to your findings… Keep us informed!

  3. On February 18, 2009, 23:36 CET, Keith Bell said:

    Jens, I wasn’t aware of that before. It’s interesting in a “maybe I’ll find a use for that one day” kind of way.

    I wonder if the syntax is supported well by mobile user agents.

  4. On February 19, 2009, 9:12 CET, Francesco said:

    That’s pretty interesting! I’m looking always for ways to trim my code as much as possible. Looking foward to your results!

  5. On February 23, 2009, 9:57 CET, Gunnar Bittersmann said:

    Why do you refer to RFC 2396 which has been obsoleted by RFC 3986 for 4 years?

  6. On February 23, 2009, 10:03 CET, Jens Oliver Meiert said:

    Gunnar, maybe because RFCs just state what they make obsolete, not by what they became obsolete. Thanks for the reference.

    Let’s call this post “Performance and RFC 2396/3986” then 😊

  7. On February 23, 2009, 16:51 CET, Gunnar Bittersmann said:

    Hm, funny. The HTML version of RFC 2396 lists “Obsoleted by: 3986” and “Updated by: 2732”; the plain text version does not.

  8. On April 15, 2009, 20:29 CEST, Steven Black said:

    Works in IE and Firefox. But Chrome resolves “//” as “file://”.

Read More

Have a look at the most popular posts, possibly including:

Or maybe say hi on Twitter, Google+, or LinkedIn?

Looking for a way to comment? Comments have been disabled, unfortunately.

Flattr? Found a mistake? Email me, jens@meiert.com.

You are here: HomeArchive2009 → Performance and RFC 2396

Last update: January 2, 2017.

“If there is any secret, it is missed by seeking.”