Cowboy はじめに

はじめに

CowboyはErlangで書かれた小さな高速モジュラーHTTPサーバです。

CowboyはSPDY、Websocket、RESTやそれらから派生した通信形式を含む完全なHTTPスタックを提供することを目的としています。
Cowboyは現在、HTTP/1.0、HTTP/1.1、Websocket(全ての実装とドラフト+標準)、WebmachineベースのRESTをサポートしています。

Cowboyは高品質なプロジェクトです。
Cowboyは小さなコードベースであり、非常に効率的で(遅延およびメモリ使用量の両方において)、簡単に他のアプリケーションに埋め込むことができます。

Cowboyは綺麗なErlangのコードです。
Cowboyは数百のテストをパスしており、そのコードはダイアライザーに完全に準拠しています。
また十分に文書化され、関数のリファレンスとユーザガイドの両方を備えています。

前提条件

Erlangの知識はこのガイドを読むために必要ではありません。
読者にはErlangの概念を紹介し、必要に応じて参考資料を参照できるようにリンクをはってあります。

ガイドにHTTPプロトコルについて記述しているためHTTPプロトコルの知識があると理解しやすいですが、必須ではありません

サポートしているプラットフォーム

Cowboyはテスト済みであり、Linux環境をサポートしています。

Cowboyが他のプラットフォームで動作することも報告は聞いていますが、私たちにとってその報告が安全で問題ないという保障は行ってはおりません。
あなた自身が他のプラットフォームで使用する際に必要なテストやセキュリティの監査を実施することをオススメします。

CowboyはErlang/OTPのR16B01、R16B02、R16B03-1、17.0、17.1.2のバージョンに準拠して開発されています。

Cowboyに小さなコードの変更を行ったり、上記のErlangのバージョン以外でコンパイルしても良いですが、期待通りに動作する保障はありません。

バージョニング

Cowboyはセマンティックバージョン2.0.0を使用しています。

表記

HTTPプロトコルではメソッド名は大文字と小文字が区別されています。
すべての標準メソッド名は大文字です。

ヘッダ名は大文字と小文字が区別されません。
CowboyはRequestヘッダ名をすべて小文字に変換し、アプリケーションが応答した場合には小文字のヘッダ名を提供する想定です。

上記と同じようなことが他の大文字と小文字を区別しない値にも適用されます。