HTTPの基本の理解
【目次】
HTTP
HyperText Transfer Protocol。クライアント(コマンドやブラウザ)とwebサーバの間でwebページを送受信するためのプロトコル。
クライアントからHTTPリクエストをサーバーに送り、それを受けたサーバーがクライアントへHTTPレスポンスを返す。
HTTPリクエスト
構成は以下。
HTTPレスポンス
構成は以下。
- 1行目 ステータスライン:HTTPリクエストの結果
- 2行目以降 ヘッダ:ステータスラインに書ききれないレスポンスの情報
- レスポンスボディ
Ajax
Ajaxが行うHTTP通信と、通常のHTTP通信に違いはない。 従来ではクリックするタイミングでHTTPリクエストを送信していたのを、Ajaxの場合、画面遷移を行わずにHTTPリクエストが送信される。(送信のタイミングのコントロールが可能)
telnet
ネットワークを経由して、サーバに接続する遠隔操作の仕組み。
sshとの違いは、暗号化できるかどうか。
またtelnetはhttp通信(https通信はできない)ため、ポート番号は80番を使用。
(※TCP/80 : HTTP・TCP/443 : HTTPS)
telnetでGET
ページ情報を取得してくる。反応が「200」であればOK
$ telnet <ホスト名orIPアドレス> 80 Escape character is '^]'. # 入力待ち GET /articles/1 HTTP/1.1 # リクエストライン:GET <リクエスト先ページ> <HTTPバージョン指定> Host: <ホスト名> # リクエストヘッダ:Host: <ホスト名>記載
telnetでPOST
新しいページを作る。反応が「302 Found」であればOK
$ telnet <ホスト名orIPアドレス> 80 Escape character is '^]'. POST /articles HTTP/1.1 # リクエストライン Host: <ホスト名> Content-Length:48 # (article[title]=chiiii&article[body]=chiiii body )の文字列が1バイト48個のため記述 <空行> article[title]=chiiii&article[body]=chiiii body # クリエの記述