第一夜:それはまるで、過去の恋人と文通をしていたようなものだった。
その夜、僕はいつものバーにいた。ジャズが静かに流れていて、バーボンのグラスには琥珀色の光が差し込んでいた。バーテンダーは「Autumn Leaves」を口ずさみながら、グラスを磨いている。カウンターの右端には、美咲がいた。
「ねえ、REST APIって、なんなの?」
彼女はバーボンソーダを少し傾けながら、僕に聞いた。
「REST APIね」僕はグラスを回しながら言った。「それは、別れた恋人との手紙のやりとりに、どこか似てるんだ。」
「え?」美咲が小首をかしげる。彼女の髪がゆっくりと揺れる。僕は続けた。
「たとえば、彼女がいる街にもう行けないとしても、僕たちは手紙を交換できる。僕が“君の近況が知りたい”と手紙に書くと、彼女は“私は元気よ。朝はコーヒーを飲んで、本を読んでいるわ”と返事をくれる。RESTというのはそういうものなんだ。」
「……つまり?」
彼女は眉を寄せながらも、どこか楽しそうに笑った。
「つまり、RESTは“ある決まりごと”に従って、クライアントとサーバが情報をやりとりする方法なんだ。手紙じゃなくてHTTPという封筒に詰めてね。」
「HTTPって、聞いたことあるわ。GETとかPOSTとか、そういうやつでしょ?」
「そのとおり。GETは“情報が欲しい”って伝える手紙。POSTは“これを新しく追加してね”ってお願いする手紙。PUTは“これをまるごと置き換えて”で、DELETEは“これはもういらないから処分して”って頼むもの。」
「ふーん。でも、彼女はそれを、毎回ちゃんと返してくれたの?」
僕は一瞬黙った。グラスの氷が溶けて、小さな音を立てた。
「いや、たまに返事がこなかった。サーバーが落ちてたのかもしれない。あるいは、404 Not Foundだ。」
「404……?」美咲が笑う。「それって“彼女が見つかりません”ってこと?」
「そう。もう、そこには彼女はいなかった。URIが変わっていたのか、あるいは最初から僕の記憶違いだったのかもしれないけど。」
「URIって……?」
「Uniform Resource Identifier。つまり、手紙を届ける住所だよ。/letters/you
とか、/memories/1987
みたいにね。RESTでは、やりとりする“対象”をリソースって呼んで、そのリソースにURIを割り当てて管理するんだ。」
「へえ……なんだか、切ないわね。」
「切ないよ。でも、RESTってやつは、感情を持たない。ステートレスっていうんだ。昨日の手紙の内容を、今日の手紙では覚えていない。毎回、すべてを一から伝える必要がある。」
「それって、なんだか恋人じゃなくて、郵便局みたいね。」
「うん。でも、そういう冷たさが、時に美しい形をつくるんだ。RESTの原理には、そういう無駄のなさがある。」
美咲はグラスの底を見つめながら、ぽつりと呟いた。
「そういう恋、してみたことあるかもしれない。」
バーのスピーカーから、チェット・ベイカーのトランペットが流れ始めた。僕たちはしばらく黙って、その音楽に耳を傾けていた。