- ベストアンサー
リンクタグの省略されたURL記法とは?
- リンクタグの<a href="ここ">の書式と言えば、絶対パスや相対パスがあります。
- しかし、wikipediaの他言語版のリンクはすべて"//en.wikipedia.org/wiki/Brain"と、"http:"を省略したリンクで書かれています。
- この省略されたURL記法は正式なものであり、現在広く使われています。具体的にはいつ頃から使われるようになったのかは不明です。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ちょっとずれた話に感じるかもしれませんが、コーディングルールというものをご存知でしょうか。 いわゆるコーディングをするにあたっての規約です。 零細企業や個人の方はあまり設定されていない場合が多いですが、googleやtwitterなどの大企業はコーディングルールを設けることによってコーディングの効率化を図ります。 その中の一つに、http:を省略するというルールを採用する企業があった気がします。詳細は覚えていませんが、いくらかスピードが早くなるようなことが書かれていた気がします。実際に容量として5Byte稼げるわけですしね。たった5Byteですが、途方もないアクセス量を捌くサーバーにとっては重要な容量だとも思います。 その他にも、属性値のコーテーションを省略するとか、pなど閉じタグを省略できるものは省略するとか、いろいろありますね。もっとも、スピードに関しては、サーバーのチューニングや、画像の最適化、コードの無駄を省いたり、リクエスト数を極限まで減らしたりなど、あらゆる最適化をやって、はじめて効果が出るような些細な効果です。従って、零細企業や個人だとそこまでできないので、結果としてコーディングルールを設定しない場合が多いのかもしれませんね。ただ、チームで制作する場合は、コーディングルールはあったほうがやりやすいですね。
その他の回答 (3)
- f1204-okw
- ベストアンサー率84% (16/19)
広く使って構わないだろうと考えています。 たとえば下記リンクにあるスクリプト配布の snippet は全て // 始まりです。 <script src="//... ですが,<a href="//... と本質的には同じです。 Google Hosted Libraries - Developer's Guide - Make the Web Faster — Google Developers https://developers.google.com/speed/libraries/devguide?hl=ja Google や Wikipedia が採用しているから必ずしも良いとは限りませんが,RFC 1738 にも定義されているため,使って問題のあるケースのほうが例外だと考えられます。 ちなみに URL を // で始めたとき,それが http:// と解釈されるとは限りません。 そのリンクの記述のあるページと同じスキームで解釈されるためです。 つまり,https://... のページに // 始まりのリンクがあった場合,それは https:// と解釈されるということです。 ローカルファイルをブラウザで見たときは file:// で始まりますが,そのとき //... は file://... と解釈されます。 先の Google ホスティングの実例では,http でも https でもちゃんとライブラリファイルが手に入るようになっています。 自分のサイトを https で安全に作成した場合に,身元のわからない http による外部ファイルをまぎれ込ませてしまうことを防ぐ目的がある,と思われます。 全くの余談ですが,RFC 3986 にある,URI にマッチする正規表現は,// 始まりに対してもマッチするようになっています。 RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax http://tools.ietf.org/html/rfc3986#appendix-B
お礼
ご回答ありがとうございます. Googleではあらゆるライブラリに対してユーザからのスキーム「https」でのアクセスに対応しているため,ライブラリをうっかり「http」で呼び出さないように,という意味もあり,スキーマが自動的に同じになる「//」始まりのURLを使っているということですか. とても勉強になりました.
- ORUKA1951
- ベストアンサー率45% (5062/11036)
正直、あまり見ませんが、//は、/と同じようにhttp:プロトコルが同じインターネットそのものをルートとして指定する方法です。 それに対応していないブラウザは存在しないと断言できます。 >対応していないソフト(リンク追跡系)では相対パスとして扱ったりします. バグのあるソフトは・・・・【中略】・・・ と言うことでしょう。ちなみにfirefoxのscrapbookなどはちゃんと追跡しています。
お礼
//と書くと./ではなくhttp://と解釈されるということですかな. ブラウザ等正式なソフトは対応しているということですかー ご回答ありがとうございます!
- Picosoft
- ベストアンサー率70% (274/391)
> Q.aタグにおけるこの「http:」を省略したurl記法は正式なものですか? > Q.初めて見たのですがいつ頃使われるようになりましたか? URLのルールについて定めたRFC 1738にてちゃんと定義されていますので正式なものです。 同様の内容ですが、Wikipediaの「URL」の項目では以下のように記されています。 http://ja.wikipedia.org/wiki/Uniform_Resource_Locator -------------------------------------------- httpやftpのような特定のホストにIP接続する類のスキームでは次のような共通の形式が使われている。 //<user>:<password>@<host>:<port>/<url-path> -------------------------------------------- > Q.広く使われていますか? これについては私には確かなことは分かりませんが、あまり見かけることはないですね。
お礼
迅速なご回答ありがとうございます.助かりました. httpやftpといった“スキーム名”とやらが, “RFC 1738”という規格によって,省略可能と定められている,ということでしょうかな. ざっと見た感じ,専門用語が多くて難しかったのですが.汗 wikipediaより http://ja.wikipedia.org/wiki/Uniform_Resource_Locator rfc規格リスト http://www5d.biglobe.ne.jp/%257estssk/rfcjlist.html RFC 1738 の和訳版 http://www5d.biglobe.ne.jp/%257estssk/nro/rfc1738_j.txt
お礼
ご回答ありがとうございます. 特定の企業で採用されるコーディングルールの一部にも,「http:」を省く記法があり得るということですか.ファイルサイズやレスポンススピードにも好影響があるんですね. 勉強になりました.
補足
この補足欄で皆様にお礼申し上げます. URL記法を定めたRFCの存在をはじめとして,//始まりでリンクを記述するメリットを学ばせて頂きました. 私が使用していたリンク追跡系のフリーウェアはおそらくここまで考慮していなかったのだろうと思います. 皆様ご回答ありがとうございました.