◆ JavaScript だと protocol になってるけど URL 的には scheme が正しい
◆ プロトコルだと「:」が入るけどスキームだと含まない
◆ スキームにはプロトコル名が基本的に使われてる
◆ // から始まるのは共通構文で file でも 2 つ
  ◆ 3 つなのはローカルファイルへのアクセスで host 名が省略されてるから 

JavaScript で URL の情報を見ると
http に当たる部分は protocol となっています

なので URL の最初の部分は プロトコルと呼べばいいんだと思ってましたが正確にはちがうみたいです

http://var.blog.jp/archives/58464918.html

のピンク色のところが スキームで 水色のところが スキームごとに決められたデータを書くところです

(scheme):(schemeごとのパート)


というのが URL の基本的な書き方です

// から始まるのは インターネット上のものを表す共通な書き方だそうです

//username:password@example.co.jp:8080/index.html
   user         password   hostname       port   url-path


それで スキームに使われるのが 基本的にプロトコルなので違いがよくわからないことになっています
プロトコルとスキームが意味してるものは別で スキームにプロトコル名が使われているということです

また JavaScript で確認するとプロトコルというと「:」まで入ってるようです

new URL("http://var.blog.jp").protocol
// http:

スキームの例

  • http
  • https
  • ftp
  • file
  • mailto
  • javascript
  • blob
  • data
  • about
  • chrome
  • resource

おまけ

file って file:/// になっていますが file の場合は特別で / が 3 つから始まるというわけではないです
他と一緒で // から始まっていて 3 つめの / は別の意味があります

フォーマットはこうなっています

file://host/path

普段は自分のローカル環境なので host は書かないですが エクスプローラーで

\\gw-win-note\share\picture\

とネットワークアクセスしてるフォルダ
これに ブラウザでアクセスしようとすると host が必要になります

file://gw-win-note/share/picture/

にアクセスすればブラウザからネットワーク上のフォルダが見えるはずです