Daniel W.
Daniel W.

Reputation: 32280

Schemeless URL valid in HTTP?

Are schemeless urls like

//blog.flowl.info/

valid in HTTP (rfc?), like in plain HTTP Requests and Responses, or are they only valid in HTML attributes and content ?

HTTP/1.1 302 - Moved
Location: //blog.flowl.info

GET //blog.flowl.info

Update:

I have two contradictionary answers now. Which is correct?

Sidequestion: Why does the browser even resolve those to:

//blog.flowl.info/ 
->
http://blog.flowl.info/

instead of:

//blog.flowl.info/
->
http://blog.flowl.info///blog.flowl.info/

Upvotes: 7

Views: 1878

Answers (2)

Gladwin Burboz
Gladwin Burboz

Reputation: 3549

As far as I understand protocol/scheme is a mandatory part of an URL and is used by server and intermediate proxies/gateways etc to infer how to handle communication on top of plain TCP/IP. If you are not using http/https but some other well known or even custom protocol, you will have to specify it.

Browser was created for browsing html pages served over HTTP protocol. Hence if you don't specify scheme it automatically defaults it as http. There is also concept of absolute v/s relative URL that you will need to look into how subsequent URLs are resolved by browser.

Upvotes: -1

Julian Reschke
Julian Reschke

Reputation: 42017

They are valid in the Location header field (http://greenbytes.de/tech/webdav/rfc7231.html#header.location).

They are not valid in the request line of an HTTP request.

The browser resolves it this way because this is how relative reference resolution works (http://greenbytes.de/tech/webdav/rfc3986.html#reference-resolution).

Upvotes: 7

Related Questions