知識もスキルも無い
もう一度、私は無知で無能だと感じました。誰かに HTTP の知識について質問されたとき、とても恥ずかしかったです。私は普段、技術的な記事をよく読んでいるのに、肝心な瞬間に質問に答えられないのはなぜでしょうか?
見ただけではダメ、練習が必要です。他人の言うことははっきりと理解できたつもりでも、もう一度自分に問いかけると全く答えられないことがあります。他の人の記事を読むことは、むしろ小説を読むことに似ているからです。著者の考えを頭の中で追い、よく理解したように感じますが、実際には通り過ぎているだけだからです。だから技術をしっかり学びたいです
- 一方で、記事、書籍、ソースコードなど、他の人の要約を読む必要があります
- その後、ブログを書いたり、本のコードを実行したりして、理解を深めるために自分で要約する必要があります。
- 最後は、特に仕事で使用することです。スキルを非常にうまく使用した場合、それを忘れるのは困難です。
HTTP の知識についてより良い印象を与えるために、ブログを書いてください。浅いところから深いところまで始めて、時間をかけて行ってください。
まずはhttpを簡単に理解してください
HTTP は、アプリケーション層プロトコルである Hypertext Transfer Protocol (ハイパーテキスト転送プロトコル) です。私の理解では、サーバーはテキストを生成してネットワーク経由で送信し、クライアントはそれをビューに解析して対話を提供できるということです。
http はリクエストとレスポンスで構成されており、設計時にはステートレス プロトコルであるため、基本的にすべての操作はクライアントがリクエストを開始し、サーバーがレスポンスを返すことになります。
HTTP リクエストとレスポンスには両方とも、リクエスト行、メッセージ ヘッダー、メッセージ本文が含まれます。
共通ヘッダー
ヘッダーについて言えば、複雑ではありませんが、詳しく見てみると、多くの知識が含まれていますが、実際には少し複雑です。主なことは、最初にいくつかの一般的なものに焦点を当てることです。
共通ヘッダーフィールド
- キャッシュ制御: リクエストとレスポンスに続くキャッシュメカニズムを指定します
- Connection:keep-alive:サーバーとの TCP 接続を維持します
- 日付: メッセージが送信された日時
- Pragma: 実装固有の命令を含めるために使用され、最も一般的に使用されるのは Pragma:no-cache です。 HTTP/1.1 プロトコルでは、その意味は Cache-Control:no-cache と同じです。
- Transfer-Encoding:chunked: チャンクエンコーディング
リクエストヘッダー
- リクエストURL: リクエストされたURL
- リクエストメソッド: リクエストメソッド(OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE、CONNECT、PATCH)
- リモートアドレス: リモートサーバーのアドレス
- 承認: クライアントが受信した MIME タイプを指定します (text/html、application/xhtml+xml、application/xml)
- Accept-Encoding: クライアントが受信するエンコーディングを指定します。通常、圧縮アルゴリズム (gzip、deflate、sdch) を指定するために使用されます
- Accept-Language: クライアントが受信する言語を指定します (zh-CN,zh)
- Accept-Charset: クライアントが受信する文字セットを指定します (gb2312、uft-8)
- Cookie: クライアントのCookie情報
- ホスト: リクエストされたドメイン
- ユーザーエージェント: リクエストを開始したユーザー情報、オペレーティングシステム、ブラウザのバージョンなど
- If-Modified-Since: サーバーが最後に変更された時刻
レスポンスヘッダー
- Content-Encoding: 応答パケットのエンコードと圧縮アルゴリズム (gzip)
- Content-Type: 応答パッケージのリソースタイプ (text/html; charset=utf-8)
- 有効期限: 有効期限
- Last-Modified: 最終更新時刻
一般的なステータスコード
- 200: リクエストは成功しました
- 201: リクエストは実行され、リクエストに基づいて新しいリソースが作成され、その URI が Location ヘッダー情報とともに返されました
- 301/302: リダイレクト
- 304: クライアントによって要求されたリソースは変更されていません
- 400: 不正なリクエストパッケージ
- 404: リクエストは失敗しました。指定されたリソースが見つかりませんでした
- 500: 内部サーバー エラー。通常、サーバーにエラーがあり、応答パケットを返すことができません
注: この記事はオリジナルであり、転載を歓迎します。記事ページのわかりやすい位置にこの記事へのリンクを記載してください。
この記事が良いと思ったら、右下のおすすめをクリックしてください、ありがとうございます!
http://www.cnblogs.com/5207