Webサーバについてのメモ
一から調べだした。
雑理解
まず、調べる前に自分の雑理解を書き出す。
- WebサーバはクライアントからHTTPリクエストをもらってHTTPレスポンスを返す(HTTPサーバだ)。
- データのやり取りの際には recv とか write みたいなUnix のシステムコールで送受信を実現することになる。
- たくさんのクライアントから同時にリクエスト来ても処理できるようにスレッドやプロセスを分けるやり方もあるけど他の方法もある(らしい)。
- TCP 接続に必要な情報はIPアドレスとポート(だけ?ほんとに?)。
OSSを読む
- GitHub - apache/httpd: Mirror of Apache HTTP Server. Issues: http://issues.apache.org
- https://github.com/python-git/python/blob/master/Lib/SimpleHTTPServer.py
- https://github.com/ruby/ruby/tree/trunk/lib/webrick