JavaScriptでlocation.hostプロパティを使ってホスト名とポート番号を取得、設定する方法を現役エンジニアが解説【初心者向け】
初心者向けにJavaScriptでlocation.hostプロパティを使ってホスト名とポート番号を取得、設定する方法について現役エンジニアが解説しています。ホスト名とはドメイン名のことで、ポート番号とはアプリなどが使用する出入口です。取得・設定するにはlocation.hostプロパティを使います。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
JavaScriptでlocation.hostプロパティを使ってホスト名とポート番号を取得、設定する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使って初心者向けに解説します。
JavaScriptについてそもそもよく分からないという方は、JavaScriptとは何なのか解説した記事をまずご覧ください。
なお本記事は、TechAcademyのオンラインブートキャンプ、JavaScript/jQuery講座の内容をもとにしています。
今回は、JavaScriptに関する内容だね!
どういう内容でしょうか?
JavaScriptでlocation.hostプロパティを使ってホスト名とポート番号を取得、設定する方法について詳しく説明していくね!
お願いします!
目次
ホスト名、ポート番号とは
ブラウザでWebサイトを表示するには、Webサイトの住所であるURLを指定します。例えばYahoo!のURLは以下のようになります。
https://www.yahoo.co.jp/
URLの構成は以下のとおりです。
- プロトコル(通信手段):上記では「https」が該当します。現在はほとんど https が使用されています
- ホスト名:上記では「www.yahoo.co.jp」が該当します。ホスト名はWebサイトが格納されているサーバの住所を示しています
- ポート番号:上記では省略されています。ポート番号はホストに対してプロトコルごとに用意されている接続先の番号です。httpsの場合は 443 となりますので上記のURLは「https://www.yahoo.co.jp:443/」と同等です
- ディレクトリ名やファイル名:上記では指定していません。ポート番号以降に表示するディレクトリ名やファイル名を指定可能です。
location.hostプロパティとは
JavaScriptでURLに関する情報を取得、更新するにはLocationインタフェースを使用します。Locationインタフェースはdocument.locationまたは window.locationプロパティで参照可能です。
Locationインタフェース について、詳しくは以下のサイトも参考にしてください。
location.hostプロパティの使い方
今回のサンプルプログラムでは、window.locationプロパティからホスト名とポート番号を取得、設定する方法を確認します。実行はChromeブラウザのデベロッパーツールのコンソールで行います。はじめにYahoo!JapanのWeb サイトを開いておきましょう。
ホスト名とポート番号を取得する方法
ホスト名とポート番号を取得するにはlocation.hostと記述します。
location.host
実行結果は以下のとおりです。
"www.yahoo.co.jp"
ホスト名とポート番号を設定する方法
ホスト名とポート番号を設定するにはlocation.hostに値を代入します。
location.host = "www.google.com"
実行すると、Webサイトが Google に変更されます。これはホスト名とポート番号が変更され、URLが「https://www.google.com/」となったためです。
まとめ
今回の記事ではJavaScriptでlocation.hostプロパティを使ってホスト名とポート番号を取得、設定する方法を学習しました。
筆者プロフィール
太田和樹(おおたかずき)
ITベンチャー企業のPM兼エンジニア 普段は主に、Web系アプリケーション開発のプロジェクトマネージャーとプログラミング講師を行っている。守備範囲はフロントエンド、モバイル、サーバサイド、データサイエンティストと幅広い。その幅広い知見を生かして、複数の領域を組み合わせた新しい提案をするのが得意。 開発実績:画像認識技術を活用した駐車場混雑状況把握(実証実験)、音声認識を活用したヘルプデスク支援システム、Pepperを遠隔操作するアプリの開発、大規模基幹系システムの開発・導入マネジメント。 地方在住。仕事のほとんどをリモートオフィスで行う。通勤で消耗する代わりに趣味のDIYや家庭菜園、家族との時間を楽しんでいる。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、JavaScript・jQueryを使ったWebサービス公開を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。