簡易的なHTTPサーバーを実装しようと思ったら、 - ソケット通信の確立 - ひたすら接続待機 - 入ってきたら仕様にしたがってヘッダーの解釈 - リクエストラインはスペース区切りなので正規表現で解釈 - 同じように仕様にしたがってリクエストを返却 とか大体こんな感じのことをする
What I should know to imeplement HTTP server
- socketはネットワーク上の異なるマシンの異なるプロセス間でのデータの送受信を可能にするためのもの
How Netlify works
- Netlifyではユーザーがつけたファイル名ではなく、ファイルの内容をハッシュ化したものをファイル名として使い、そのデータの参照アドレスを識別子として使っている。なので、ファイル名だけが変わっても再アップロードしたりはしない。
- 毎回Treeを作成し、デプロイが完了したらTreeを切り替える。
- 全てのビルドはimmutableなので、何か問題が起きたらすぐ前のバージョンに戻せるようになっている。この時も、Treeへの参照を書き換えるだけ。
- Deploy Previewもこれを利用して特定のTreeを見せているだけ。