0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

開くたびに新規ページが作られるURLの正体 ―― .new ドメインの仕組み

0
Posted at

概要

notion.new のように、アクセスするたびに新しいページ(やドキュメント)がその場で作られるURLがある。ブックマークしておけばワンクリックで新規作成できて便利なのだが、これが技術的に「何なのか」「なぜ Google の名前が出てくるのか」が気になって調べた。結論から言うと、これは .new という Google Registry が運営するトップレベルドメイン(TLD)の仕組みだった。この記事では、そこまでに調べたこと・確認できたことを整理しておく。

背景

きっかけは「ブックマークに登録しておいて、開くたびに新しいページができるURLが Notion になかったか?」という素朴な疑問だった。固定ページのURLをブックマークしても、当然ながら毎回同じページが開くだけで、新規作成にはならない。「開くたびに作られる」という挙動をするURLがあったはずだ、という記憶だけがあった。

探してみると、それは notion.new だった。Google の docs.new や sheets.new と同じ仲間で、アドレスバーに打つ(またはブックマークする)と、アクセスするたびに空の新規 Notion ページが作られる。

そこまでは分かったのだが、次に気になったのが「これは何と呼べばいいのか」「どういう仕組みで動いているのか」だった。

問題(調べたかったこと)

整理すると、疑問は3つあった。

  1. この種のURLの正式な呼び方は何か
  2. アクセスしただけで新規作成が走るのは、技術的にどうなっているのか
  3. なぜ Notion の話なのに Google が関係してくるのか

調査内容

呼び方を探す

最初は「動的リンク」「アクションURL」「クイックリンク」あたりの言葉を候補にしたが、どれもしっくり来なかった。「動的リンク」は Firebase Dynamic Links(提供終了済み)と紛らわしく、「ショートカット」ではキーボードショートカットなどと区別がつかない。

最終的に、いちばん誤解が少ないのは仕組みそのものを指す 「.new ドメイン(.new TLD)」 という呼び方だと判断した。notion.new の .new は .com や .jp と同じトップレベルドメインであり、キーボードショートカット等と混同する余地がないためだ。用語の正確さを優先するなら、これを使うのが無難だと思う。

公式ポリシーを確認する

.new の素性は、Google Registry の公式ポリシーで確認できた。事実として押さえておきたいのは次の点。

  • .new は Google Registry が運営する gTLD である。
  • ポリシー上、.new ドメインへのアクセスは、ユーザーを 直接「アクション生成/オンライン作成フロー」へ入れる ことが要求される。ホームページやランディングページに飛ばして、そこから追加のクリックを踏ませる作りはポリシー違反とされる。
  • ログインが必要なサービスは例外扱い。未ログインのユーザーはサインイン画面に案内してよいが、認証後は直接作成フローへ入れる必要がある。すでにログイン済みのユーザーは即座に作成フローへ入る。
  • .new は HTTPS 必須。HSTS プリロード対象の名前空間で、SSL 証明書を入れて HTTPS で配信していないとブラウザで開けない。
  • 登録から100日以内にポリシーへ準拠する必要があり、Google Registry は無償で準拠状況を検証できる。

例の一覧は Google Registry が whats.new というサイトで公開している。docs.new / sheets.new / slides.new などの Google 製サービスに加え、github.new(新規リポジトリ)、そして notion.new のような他社サービスも同じ枠組みに乗っている。

原因(なぜそうなっているのか)

「なぜ Google が出てくるのか」の答えはここに尽きる。.new という TLD そのものの運営者(レジストリ)が Google だから だ。Notion と Google が提携しているわけではなく、.new という“土地”の地主が Google で、Notion はそのルールに従って notion.new を運用している、という関係になる。

各社の .new の挙動(開くと作成が走る)が揃っているのも、地主である Google が「.new はアクション生成専用」というポリシーを課しているためだ。だから .new を名乗る以上、原則どのドメインも「開くと新規作成」になる。

仕組みの整理

ここからは公式ポリシーで直接確認した事実ではなく、Web の一般的な挙動から考えた整理として書く。

notion.new を開いたときに起きていることは、おおむね次の流れだと考えられる。

  1. DNS で notion.new が解決され、Notion 側のサーバーへリクエストが飛ぶ。
  2. サーバーは静的なページを返さず、作成用エンドポイント(https://www.notion.so/new のようなURL)へリダイレクトする。
  3. その先は「ページ」ではなく処理を起こすエンドポイントになっている。セッションで誰かを認証し、新しいページを1件作成し、その新規ページのURLへさらにリダイレクトする。
  4. 結果として、生まれたばかりのページが表示される。

ポイントは、URLの指す先が静的な文書ではなく「副作用(=リソース作成)を起こすサーバー処理」になっている ことだ。通常のリンクは開いてもサーバーの状態を変えないが、これは開くこと自体が作成アクションになっている。

ついでに言うと、これは本来の Web の作法からすると少し変わった設計でもある。HTTP の原則では、GET(リンクを開く動作)は「安全(サーバー状態を変えない)」「べき等(何度やっても結果が同じ)」であるべきとされる。だが .new は GET で開くたびにリソースが増える。本来 POST で行うべき作成を、UX のためにあえて GET 一発でやらせている、という割り切りだと理解している。

解決方法(実際の使い方)

やることは単純で、notion.new をブラウザのブックマークバーに登録しておくだけ。メモやアイデアを思いついたときに、ワンクリックで新規ページを開いてすぐ書き始められる。同じ挙動をする https://www.notion.so/new を直接ブックマークしても良い(notion.new は実質そこへの入り口)。

一点だけ注意。この方法で作られたページは、デフォルトだとサイドバーの「プライベート」直下に置かれる。どのデータベースや親ページに入れるかは、作成後に自分で移動する必要がある。

結果

当初の3つの疑問には決着がついた。

  • 呼び方は「.new ドメイン(.new TLD)」が最も誤解が少ない。
  • 仕組みは「アクセスするとサーバー側でリソースを新規作成し、その新規ページへリダイレクトするエンドポイント」。
  • Google が出てくる理由は、.new という TLD の運営者が Google Registry だから。

学んだこと

  • .new は Google Registry が運営する gTLD で、「アクセスしたら直接、作成フローに入る」ことがポリシーで義務づけられている。
  • .new は HTTPS 必須(HSTS プリロード)。SSL を設定していないとそもそもブラウザで開けない。
  • Google 製サービスだけでなく、ルールを守れば他社も .new を利用できる。notion.new や github.new はその例。
  • 呼称に定番の一語は存在しない。無理に一語で言うより「開くたびに新規作成されるURL」と動作で説明したほうが伝わることも多い。
  • 「動的リンク」という言い方は Firebase Dynamic Links と紛らわしいので避けたほうが無難。

まとめ

  • notion.new のようなURLは、Google Registry が運営する .new TLD の仕組み。
  • .new は「アクセスすると直接、新規作成フローに入る」ことがポリシー上求められている。
  • Notion が特別なのではなく、.new を名乗る以上どのサービスも同じ挙動になる。
  • 技術的には「開くと副作用(作成)が走るエンドポイント」で、GET で作成させる割り切った設計。
  • ブックマークしておくと新規作成が一手で済み、日常のメモ運用と相性が良い。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?