Webサーバ
Webサーバは、HTMLや画像などの情報をサーバにストックし、クライアントからの要求があると、ネットワーク経由で要求された情報をクライアントに送信する
現在、Webサーバで最も人気が高いサーバは、Apache
Webサーバの仕組み
Webサーバとクライアントとの間の通信は、HTTP (Hyper Text Transfer Protocol) と呼ばれるプロトコルによって行われる。その為、WebサーバはHTTPサーバとも呼ばれる。
- WebブラウザからWebサーバにリクエストを送信する
- WebサーバはWebブラウザのリクエストした処理を返す(レスポンス)
WebブラウザからWebサーバへ送られるHTTPリクエスト
メソッド リクエスト URL HTTPバージョン
例)Webサーバに接続し、index.html ファイルを取得したい場合
GET /index.html HTTP/1.1
上記に対するレスポンス
HTTP/1.1 200 OK Date: Wed, 3 Aug 2005 01:18:40 GMT Server: Apache/2.0.52 (CentOS) Last-Modified: Wed, 3 Aug 2005 01:18:30 GMT ETag: "85105-27-d47f4b80" Accept-Ranges: bytes Content-Length: 39 Connection: close Content-Type: text/html <html><body> Hello World! </body></html>
前半をレスポンスヘッダ、後半をレスポンスボディと呼ぶ。レスポンスヘッダにはサーバからの情報が、レスポンスボディにはコンテンツ(HTMLデータや画像データなど)が含まれている。レスポンスヘッダ1行目にある数字は状態を表すステータスコード。
コード | 内容 |
---|---|
1xx | インフォメーション (Information) |
100 | リクエスト継続してもよい (Continue) |
2xx | 正常終了 (Success) |
200 | リクエスト成功 (OK) |
3xx | リダイレクト (Redirection) |
4xx | クライアントエラー (Client Error) |
400 | 不正なリクエスト (Bad Request) |
403 | アクセス拒否 (Forbidden) |
404 | ページが存在しない (Not Found) |
5xx | サーバエラー (Server Error) |
500 | スクリプトエラーなどのサーバ内部エラー (Internal Server Error) |
HTTPメソッド
メソッド | 内容 |
---|---|
GET | 指定した URL のリソース (HTMLファイル、画像、プログラムの実行結果など)を取得する |
HEAD | 指定した URL からレスポンスヘッダのみを取得する |
POST | 指定した URL へデータを送信し処理を要求する |
PUT | 指定した URL へデータを送信し保存を要求する |
DELETE | 指定した URL のリソース削除を要求する |