質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

3回答

605閲覧

WEBサービスのユーザーページがユーザーごとにファイルを作っている理由が知りたい

pig_hedas

総合スコア7

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

1グッド

1クリップ

投稿2022/08/12 01:23

プログラムの質問と言うより、なぜそうやってプログラムするのかの質問になりますが、どうしても知りたいので質問させてください。

こちらはteratailの私のユーザーページです
https://teratail.com/users/pig_hedas

Youtubeだと「/c/ユーザー名」です。

これらはサーバー上にcやuserのフォルダを作り、その中にpig_hedasなどのファイルを作っている、と理解しています。

私はこう設計する理由について「タグにキャプションに質問回答ページへのリンクなど、ファイル内で参照するデータが多すぎ、量も種類も可変過ぎてデータベースの設計がし辛いまたは不可能だからだ」と考えていました。

ですがpixivだとイラストの場合は上のようにファイルを作っているのですが、小説の場合は「novel/show?id=〇〇」となっているのに最近気付きました。

もちろん、別フォルダに小説本文やタグやキャプションを埋め込んだ大量の「〇〇.html」ファイルがあって、それを読み込んでいるだけという事もあると思うのですが、それはそれでなぜ一旦showファイルを嚙ましているのか、なぜイラストの方ではそうしないのか不明です。

そういう発見もありまして、自分の中で「世のWEBサービスではなぜユーザーごとにファイルを作っているのか、なぜユーザーごとのIDや名前やTAG1~TAG10や次の画像やユーザーごとに登録した質問回答をデータベースに入れて管理しないのか」と再び疑問が生まれました。

ページを表示することを考えるとデータベースから取得する方がファイルを一つ一つ読み込むより早いと思うのですが、なぜわざわざユーザーごとにファイルを作るのでしょうか。

よろしくお願いします。

Maximillion👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

これらはサーバー上にcやuserのフォルダを作り、その中にpig_hedasなどのファイルを作っている、と理解しています

その前提は、100%正しいとは言い切れません。

https://example.com/users/ユーザ名
という形式になっているからといって、必ずしもユーザ名のファイルがサーバー上で作成されるとは限りません。
「ユーザ名」の部分は単純なパラメータのような扱いになっていて、データベース等からデータをとってくる際の情報として受け渡されている場合もあります。

投稿2022/08/12 01:36

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pig_hedas

2022/08/12 02:03 編集

ありがとうございます。「?user=〇〇」と「/user/〇〇」は同じものの場合があるんですね。知りませんでした。 この二つの違いはどこにあるんでしょうか。趣味の物だけだったりするんですか?
退会済みユーザー

退会済みユーザー

2022/08/12 03:27

teratailでの例を含め、あらゆる場合がこれにあてはまる、と言い切ることはできませんが、たとえばこちらのページが参考になるかもしれません。 パスパラメータとクエリパラメータの違い ttps://zenn.dev/eri_agri/articles/859a3362db8386
pig_hedas

2022/08/12 04:52

ありがとうございます!
guest

0

これらはサーバー上にcやuserのフォルダを作り、その中にpig_hedasなどのファイルを作っている、と理解しています。

この理解が間違っています。ほとんどの場合、URLはサーバ上のプログラムで処理され、1つのURLに1ファイルが対応しているわけではありません

投稿2022/08/12 01:32

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2022/08/12 01:38 編集

> なぜユーザーごとのIDや名前やTAG1~TAG10や次の画像やユーザーごとに登録した質問回答をデータベースに入れて管理しないのか していたとしても、そのようなURLにすることは可能です。
guest

0

これらはサーバー上にcやuserのフォルダを作り、その中にpig_hedasなどのファイルを作っている、と理解しています。

実際のところは作った人に聞かないとわかりませんので想像ですが、たぶんそうではないはずです。

まず、ユーザー情報ですが、すべてデータベースに保持されているはずです。

Teratail の場合は https://teratail.com/users/userid はどのユーザーもすべて同じ形になっていますよね。ユーザー固有の情報が異なるだけで。

なので、ひな形のページ users を作っておき、ユーザーによって異なるユーザー固有の情報を userid を元にデータベースから取り出してきて、ひな形のページにユーザー固有の情報を組み込むようにしてユーザーページを作っていると思います。

そういう操作は Web アプリの基本の一つです。

投稿2022/08/12 01:40

編集2022/08/12 01:51
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問