[解決済み] 短いURLのサービスはどのように機能しますか?
質問
のようなサービスはどのようにしているのでしょうか?
小さなURL
または
メタマーク
を使うか?
それとも、もっとマジックがあるのでしょうか?
[オリジナルの文言]。 私はよく TinyURL や Metamark などの URL 短縮サービスを利用しますが、利用するたびに、これらのサービスがどのように機能するのか疑問に思います。別のページにリダイレクトされる新しいファイルを作成するのでしょうか、それともサブドメインを使用するのでしょうか?
どのように解決するのですか?
いいえ、ファイルを使用するわけではありません。このようなリンクをクリックすると、HTTP リクエストが相手のサーバーに送られ、完全な URL で、たとえば
http://bit.ly/duSk8wK
(この質問へのリンク)のような完全なURLでサーバーにHTTPリクエストが送信されます。彼らはパス部分を読みます(ここでは
duSk8wK
) を読み、それをデータベースにマッピングします。データベースで、彼らは説明(時々)、あなたの名前(時々)、および実際のURLを見つけます。そして、HTTP 302 レスポンスとヘッダー内のターゲット URL であるリダイレクトを発行します。
この直接リダイレクトは重要です。もしファイルを使ったり、最初にHTMLを読み込んでからリダイレクトするとしたら、ブラウザはTinyUrlを履歴に追加することになり、これは望むところではないでしょう。また、リダイレクト先のサイトでは、リファラー(元々来たサイト)がTinyUrlのリンク先のサイト(twitter.com、自分のサイトなど、リンク先がどこであれ)であるとみなされます。これは、サイトオーナーがどこから来たかを確認するために重要です。これも、リダイレクトするページが読み込まれた場合は機能しません。
追記:リダイレクトの種類はもっとあります。HTTP 301は、「永久にリダイレクトする」という意味です。この場合、ブラウザは bit.ly や TinyUrl のサイトを要求しなくなり、これらのサイトはヒット数をカウントしたがります。そのため、一時的なリダイレクトであるHTTP 302が使用されます。ブラウザは TinyUrl.com または bit.ly に毎回問い合わせるので、あなたのためにヒット数を数えることが可能になります(いくつかの小さな url サービスがこれを提供しています)。
関連
-
[解決済み] [【解決済み】tempuri.orgとは何ですか?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] ページを再読み込みせずにURLを変更するにはどうすればよいですか?
-
[解決済み] JavaScriptでクエリ文字列の値を取得するにはどうすればよいですか?
-
[解決済み] AndroidのListViewで画像を遅延ロードする方法
-
[解決済み] アプリケーションからAndroidのWebブラウザでURLを開くにはどうすればよいですか?
-
[解決済み] URLのPath.Combineは?
-
[解決済み] React-routerのURLを更新したり、手動で書き込んだりするとうまくいかない
-
[解決済み] FacebookやTwitterの新しいURLのシェバング/ハッシュバン(#!)は何のため?
-
[解決済み】P99のレイテンシーって何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン