例として
http://www.company.jp/folder/subfolder/file.cgi?param=value#anchor というURLを分解します。

http:// … 情報の入手方法を表します。

多くの場合は
通信に使用するプロトコルを表します。

通常のWebアクセスに使われる http のほかに、
暗号化された https、
ファイル転送の ftp、
音声や動画を表す mms、
ローカルファイルを意味する file などがあります。

www.company.jp … Webサーバのドメイン名です。

jp は日本を、company が組織名を、www はサーバ名(ホスト名)を表します。

JPドメインでは第二階層に組織種別(.co .ac .ne など)が来る場合もあります。

/folder/subfolder/ … Webサーバの中でのファイルの位置を表します。

フォルダ名を最上位階層から順番にスラッシュ(/)で区切って指定します。
この例ではルートフォルダの folder フォルダにある subfolder フォルダの中を表します。

file … ターゲットのファイル名を表します。

.cgi … ファイルの種類を表す拡張子です。
.html や .htm .shtml などはHTMLファイルを表し、
.cgi .pl などはCGIプログラムです。

他にも画像の .jpg .gif .png や、
音声の .mp3 .wma、動画の .mpg .avi .mov などがあります。

?param=value … CGIなどのプログラムの呼び出しに使われるパラメータの指定です。

この例では「param」という変数に「value」という文字列を指定しています。

#anchor … ページ内での位置指定です。
長いWebページでは途中に目に見えない印がついていて、
その場所を表示するよう指定できるようになっている場合があります。

URL(Webアドレス)の構造とは?をChatGPTに聞いてみた

URL(Uniform Resource Locator)またはWebアドレスは、
Webページや画像、音声ファイル、動画など、インターネット上のあらゆるリソースを一意に識別するための一連のテキストです。
URLは、次のような構造を持っています。

プロトコル(Protocol): URLがアクセスするためのプロトコルを指定します。プロトコルには、HTTP(Webページを取得するためのプロトコル)、HTTPS(HTTPの安全版)、FTP(ファイルを転送するためのプロトコル)、SMTP(電子メールを送信するためのプロトコル)などがあります。

ドメイン名(Domain name): リソースがホストされているWebサイトのドメイン名を指定します。ドメイン名には、www.example.comのように、ホスト名、ドメイン名、トップレベルドメインが含まれます。

パス(Path): リソースの場所を特定するためのパスを指定します。パスには、/folder/file.htmlのように、フォルダ名とファイル名が含まれることがあります。

クエリパラメータ(Query parameters): リソースに関する追加情報を提供するために使用されます。クエリパラメータには、?key1=value1&key2=value2のように、キーと値のペアが含まれます。

ハッシュ(Hash): URL内の一部分を示し、ページ内での特定の場所を指定するために使用されます。ハッシュは、#section1のように、シャープ記号(#)に続くページ内セクションの名前で構成されます。

以上が、一般的なURLの構造です。