1. ホーム >
  2. 書籍 >
  3. HTTPの教科書

HTTPの教科書


形式:
書籍
発売日:
ISBN:
9784798126258
価格:
本体2,600円+税
仕様:
A5・320ページ
分類:
Network・UNIX

本書籍の他の形式を確認する

  • このエントリーをはてなブックマークに追加

肩肘張らずにWebの仕組みとプロトコルを完全理解する

誰もがPCやスマホから日常的にさまざまに利用しているWebを支えているのが“プロトコル”。説明で多用される「サーバー同士が会話して」の“会話”を成り立たせる役目を担っています。では、「会話を成り立たせる」とはどういうことでしょう。本書はWebだけにとどまらず、インターネット自体の基盤として欠かせないプロトコルを、最新の技術動向を含め、中学生でも理解できるくらい平易に、現場の技術者が喜ぶくらい実践的に解説します。


第1章 Web とネットワークの基本を知ろう

1.1 Web はHTTP で見えている
1.2 HTTP はこうして生まれ育った
 1.2.1 Web は知識共用のために考案された
 1.2.2 Web が成長した時代
 1.2.3 進歩しないHTTP
1.3 ネットワークの基本はTCP/IP
 1.3.1 TCP/IP はプロトコル群
 1.3.2 階層で管理するTCP/IP
 1.3.3 TCP/IP の通信の流れ
1.4 HTTPと関係深いプロトコル? IP・TCP・DNS
 1.4.1 配送を担当するIP
 1.4.2 信頼性を担当するTCP
1.5 名前解決を担当するDNS
1.6 それぞれとHTTP の関係
1.7 URIとURL
 1.7.1 URI はリソースの識別子
 1.7.2 URI のフォーマット

第2章 シンプルなプロトコルHTTP

2.1 HTTP はクライアントとサーバーで通信を行う
2.2 リクエストとレスポンスの交換で成り立つ
2.3 HTTP は状態を保持しないプロトコル
2.4 リクエストURI でリソースを識別する
2.5 サーバーに指示を与えるHTTP メソッド
2.6 メソッドを使って指示を出す
2.7 持続的接続で通信量を節約
 2.7.1 持続的接続
 2.7.2 パイプライン化
2.8 Cookie を使った状態管理

第3章 HTTPの情報はHTTP メッセージにある

3.1 HTTP メッセージ
3.2 リクエストメッセージとレスポンスメッセージの構造
3.3 エンコーディングで転送効率を上げる
 3.3.1 メッセージボディとエンティティボディの違い
 3.3.2 圧縮して送るコンテンツコーディング
 3.3.3 分解して送るチャンク転送コーディング
3.4 複数のデータを送れるマルチパート
3.5 一部分だけ貰えるレンジリクエスト
3.6 最適なコンテンツを返すコンテンツネゴシエーション

第4章 結果を伝えるHTTP ステータスコード

4.1 ステータスコードはサーバーからのリクエスト結果を伝える 4.2 2XX 成功(Success)
 4.2.1 208 OK
 4.2.2 202 No Content
 4.2.3 204 Partial Content
4.3 3XX リダイレクト(Redirection)
 4.3.1 307 Moved Permanently
 4.3.2 308 Found
 4.3.3 301 See Other
 4.3.4 302 Not Modified
 4.3.5 305 Temporary Redirect
4.4 4XX クライアントエラー(Client Error)
 4.4.1 408 Bad Request
 4.4.2 407 Unauthorized
 4.4.3 401 Forbidden
 4.4.4 402 Not Found
4.5 5XX サーバーエラー(Server Error)
 4.5.1 508 Internal Server Error
 4.5.2 501 Service Unavailable

第5章 HTTPと連携するWeb サーバー

5.1 1台で複数ドメインを実現するバーチャルホスト
5.2 通信を中継するプログラム:プロキシ、ゲートウェイ、トンネル
 5.2.1 プロキシ
 5.2.2 ゲートウェイ
 5.2.3 トンネル
5.3 リソースを保管するキャッシュ
 5.3.1 キャッシュには有効期限がある
 5.3.2 クライアント側にもキャッシュがある

第6章 HTTP ヘッダー

6.1 HTTP メッセージヘッダー
6.2 HTTP ヘッダーフィールド
 6.2.1 HTTP ヘッダーフィールドは重要な情報を伝える
 6.2.2 HTTP ヘッダーフィールドの構造
 6.2.3 種類のHTTP ヘッダーフィールド
 6.2.4 HTTP/1.1 ヘッダーフィールド一覧
 6.2.5 HTTP/1.1 以外のヘッダーフィールド
 6.2.6 エンドトゥエンドヘッダーとホップバイホップヘッダー
6.3 HTTP/1.1 一般ヘッダーフィールド
 6.3.1 Cache-Control
 6.3.2 Connection
 6.3.3 Date
 6.3.4 Pragma
 6.3.5 Trailer
 6.3.6 Transfer-Encoding
 6.3.7 Upgrade
 6.3.8 Via
 6.3.9 Warning
6.4 リクエストヘッダーフィールド
 6.4.1 Accept
 6.4.2 Accept-Charset
 6.4.3 Accept-Encoding
 6.4.4 Accept-Language
 6.4.5 Authorization
 6.4.6 Expect
 6.4.7 From
 6.4.8 Host
 6.4.9 If-Match
 6.4.10 If-Modified-Since
 6.4.11 If-None-Match
 6.4.12 If-Range
 6.4.13 If-Unmodified-Since
 6.4.14 Max-Forwards
 6.4.15 Proxy-Authorization
 6.4.16 Range
 6.4.17 Referer
 6.4.18 TE
 6.4.19 User-Agent
6.5 レスポンスヘッダーフィールド
 6.5.1 Accept-Ranges
 6.5.2 Age
 6.5.3 ETag
 6.5.4 Location
 6.5.5 Proxy-Authenticate
 6.5.6 Retry-After
 6.5.7 Server
 6.5.8 Vary
 6.5.8 WWW-Authenticate
6.6 エンティティヘッダーフィールド
 6.6.1 Allow
 6.6.2 Content-Encoding
 6.6.3 Content-Language
 6.6.4 Content-Length
 6.6.5 Content-Location
 6.6.6 Content-MD5
 6.6.7 Content-Range
 6.6.8 Content-Type
 6.6.9 Expires
 6.6.10 Last-Modified
6.7 Cookie のためのヘッダーフィールド
 6.7.1 Set-Cookie
 6.7.2 Cookie
6.8 その他のヘッダーフィールド
 6.8.1 X-Frame-Options
 6.8.2 X-XSS-Protection
 6.8.3 DNT
 6.8.4 P3P

第7章 Webを安全にするHTTPS

7.1 HTTP の弱点
 7.1.1 通信が平文なので盗聴可能
 7.1.2 通信相手を確かめないのでなりすまし可能
 7.1.3 完全性を証明できないので改竄可能
7.2 HTTP+暗号化+認証+完全性保護=HTTPS
 7.2.1 HTTP に暗号化と認証と完全性保護を加えたHTTPS
 7.2.2 HTTPS はSSL の殻をかぶったHTTP
 7.2.3 お互いが鍵を交換する公開鍵暗号方式
 7.2.4 公開鍵が正しいかどうかを証明する証明書
 7.2.5 安全な通信を行うHTTPS の仕組み

第8章 誰がアクセスしているかを確かめる認証

8.1 認証とは
8.2 BASIC 認証
 8.2.1 BASIC 認証の認証手順
8.3 DIGEST 認証
 8.3.1 DIGEST 認証の認証手順
8.4 SSL クライアント認証
 8.4.1 SSL クライアント認証の認証手順
 8.4.2 SSL クライアント認証は2 要素認証で使われる
 8.4.3 SSL クライアント認証は利用するのにコストが必要
8.5 フォームベース認証
 8.5.1 認証の大半はフォームベース認証
 8.5.2 セッション管理とCookie による実装

第9章 HTTP に機能を追加するプロトコル

9.1 HTTP をベースにしたプロトコル
9.2 HTTPのボトルネックを解消するSPDY
 9.2.1 HTTP のボトルネック
 9.2.2 SPDY の設計と機能
 9.2.3 SPDY はWeb のボトルネックを解決するか?
9.3 ブラウザで双方向通信を行うWebSocket
 9.3.1 WebSocket の設計と機能
 9.3.2 WebSocket プロトコル
9.4 登場が待たれるHTTP/2.0
9.5 Web サーバー上のファイル管理を行うWebDAV
 9.5.1 HTTP/1.1 を拡張したWebDAV
 9.5.2 WebDAV で追加されたメソッドとステータスコード

第10章 Web コンテンツで使う技術

10.1 HTML
 10.1.1 Web ページのほとんどはHTML でできている
 10.1.2 HTML のバージョン
 10.1.3 デザインを適用するCSS
10.2 ダイナミックHTML
 10.2.1 Web ページを動的に変更するダイナミックHTML
 10.2.2 HTML を操作しやすくするDOM
10.3 Web アプリケーション
 10.3.1 Web を使って機能を提供するWeb アプリケーション
 10.3.2 Web サーバーとプログラムを連携するCGI
 10.3.3 Java で普及したサーブレット
10.4 データ配信に利用されるフォーマットや言語
 10.4.1 汎用的に使えるマークアップ言語XML
 10.4.2 更新情報を配信するRSS / Atom
 10.4.3 JavaScript から利用しやすく軽量なJSON

第11章 Web への攻撃技術

11.1 Web への攻撃技術
 11.1.1 HTTP は必要なセキュリティ機能がない
 11.1.2 リクエストはクライアント側で改竄可能
 11.1.3 Web アプリケーションへの攻撃パターン
11.2 出力値のエスケープの不備による脆弱性
 11.2.1 クロスサイト・スクリプティング
 11.2.2 SQL インジェクション
 11.2.3 OS コマンドインジェクション
 11.2.4 HTTP ヘッダーインジェクション
 11.2.5 メールヘッダーインジェクション
 11.2.6 ディレクトリ・トラバーサル
 11.2.7 リモート・ファイル・インクルージョン
11.3 設定や設計の不備による脆弱性
 11.3.1 強制ブラウジング
 11.3.2 不適切なエラーメッセージ処理
 11.3.3 オープンリダイレクト
11.4 セッション管理の不備による脆弱性
 11.4.1 セッションハイジャック
 11.4.2 セッションフィクセーション
 11.4.3 クロスサイト・リクエストフォージェリ
11.5 その他
 11.5.1 パスワード・クラッキング
 11.5.2 クリックジャッキング
 11.5.3 DoS 攻撃
 11.5.4 バックドア

本書はダウンロードファイルの提供はございません。

書籍への問い合わせ

正誤表、追加情報をご確認の上、こちらよりお問い合わせください

書影の利用許諾について

本書籍に関する利用許諾申請はこちらになります

追加情報はありません。

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

書籍・SEshop限定PDF:ご購入刷数  電子書籍 最終更新日:2016年04月06日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 vi-vii
目次 第4章
2刷
4.2 2XX 成功(Success) 067 4.2.1 208 OK 067 4.2.2 202 No Content 068 4.2.3 204 Partial Content 069 4.3 3XX リダイレクト(Redirection) 069 4.3.1 307 Moved Permanently 069 4.3.2 308 Found 070 4.3.3 301 See Other 071 4.3.4 302 Not Modified 072 4.3.5 305 Temporary Redirect 072 4.4 4XX クライアントエラー(Client Error) 073 4.4.1 408 Bad Request 073 4.4.2 407 Unauthorized 074 4.4.3 401 Forbidden 075 4.4.4 402 Not Found 075 4.5 5XX サーバーエラー(Server Error) 076 4.5.1 508 Internal Server Error 076 4.5.2 501 Service Unavailable 077
4.2 2XX 成功(Success) 067 4.2.1 200 OK 067 4.2.2 204 No Content 068 4.2.3 206 Partial Content 069 4.3 3XX リダイレクト(Redirection) 069 4.3.1 301 Moved Permanently 069 4.3.2 302 Found 070 4.3.3 303 See Other 071 4.3.4 304 Not Modified 072 4.3.5 307 Temporary Redirect 072 4.4 4XX クライアントエラー(Client Error) 073 4.4.1 400 Bad Request 073 4.4.2 401 Unauthorized 074 4.4.3 403 Forbidden 075 4.4.4 404 Not Found 075 4.5 5XX サーバーエラー(Server Error) 076 4.5.1 500 Internal Server Error 076 4.5.2 503 Service Unavailable 077

ステータスコードを訂正します。本文に訂正はありません。
2016.04.06
1刷 009
本文上から2行目
3刷
データリンク層
ネットワーク層
2016.04.05
1刷 010
本文上から4行目
3刷
User Data Protocol
User Datagram Protocol
2016.04.05
1刷 015
「1.4.2 信頼性を担当するTCP」節1行目
3刷
Transfer Control Protocol
Transmission Control Protocol
2016.04.05
1刷 016
図版内
3刷
『SYN/ACN』
『SYN/ACK』
2016.04.05
1刷 040
2行目:CONNECTメソッドの書式
3刷
CONNECT プロキシサーバ:ポート HTTPバージョン
CONNECT サーバー:ポート HTTPバージョン
2016.04.05
1刷 191
本文4行目
3刷
SSLは認証局は信用できるという前提でなりたっています。
SSLで使われている認証局は信用できるという前提でなりたっています。
2013.10.16
1刷 195
本文下から3行目
3刷
図はサーバー側の公開鍵証明書(サーバー証明書)のみを用いたHTTPSによる通信を開始して、HTTPによる通信を開始するところまでの説明になります。
図はサーバー側の公開鍵証明書(サーバー証明書)のみを用いたHTTPSによる通信を開始するところまでの説明になります。
2013.10.16
1刷 196
図版
3刷

・サーバーアイコンとクライアント(ノートパソコン+ブラウザ)アイコンの入れ替え
・「暗号スイートの決定」における矢印の向きを逆に
2013.10.16
1刷 204
図:BASIC認証の概要の①
3刷
認証が認証が必要であることを伝えるステータスコード401で応答
認証が必要であることを伝えるステータスコード401で応答
2013.10.16

関連情報

関連書籍