1. ホーム
  2. web-services

[解決済み] 短いURLのサービスはどのように機能しますか?

2022-09-11 19:55:35

質問

のようなサービスはどのようにしているのでしょうか? 小さな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 サービスがこれを提供しています)。