In Ruby/Rack, I'm able to get the scheme of the current request URL from scheme#request. However, in Go, http.Request.URL.Scheme returns an empty string:
package main
import (
"fmt"
"log"
"net/http"
)
func main() {
http.HandleFunc("/", handler)
…
People talk about URLs, URIs, and URNs as if they're different things, but they look the same to the naked eye.
What are the distinguishable differences between them?