学生を卒業PHPは、インターネット上でのインタビューや情報関連のものをたくさん読んで、ここに記録し、いくつかの場所は、オリジナルの他に関連してもよいが、腹を立てた場合、その時点で、メモを追加するための時間を持っていなかった、私が追加されます、教えてくださいソースが認められています。(途中でミスが多い学習、および場所を無視して、私はあなたに感謝し、あなたが私を修正願っています!)
まず、コンピュータのネットワークインフラストラクチャ
1.TCP / IPスリーウェイハンドシェイク(TCP接続を確立するために)
- サーバー・プロセスは、第一の伝送制御ブロックを作成し、 TCB クライアント接続要求を待っていると、リスニング状態にあります
- クライアントは、送信制御ブロック作成 TCBを、サーバセグメントに接続要求を発行します
- サーバが接続要求セグメントを受信した場合、接続を確立することに合意したとして、それは確認応答セグメントを送信します
- クライアントは、確認プロセスサーバセグメントを受信した後、直ちに確認メッセージセグメントに返信し、接続の状態が確立されている入力
- サーバは肯定応答セグメントを受信した後、また、接続の状態が確立されている入力
まず、サーバは、クライアントからの接続要求を待って、LISTEN(聞く状態)です。
:説明のこの部分を接続する方法の確立を見て、インターネットがある明確である
クライアント:私は開始したいです
サーバー:良いです
クライアント:私は本当に開始
なぜ3ウェイハンドシェイクの代わりに二回、でしょうか?
接続要求の失敗がサーバに到着ないようにするには、サーバーが接続エラーを開きます。
ネットワークでの滞在ならば、クライアントから送信された接続要求は、それが返送された接続確認サーバーを受信するために長い時間のために分離されます。クライアントはを待って再送タイムアウト時間要求が再接続された後。しかし、接続要求の保持は、最終的にはない3ウェイハンドシェイクた場合、サーバは2つの接続を開き、サーバーに到着します。サードウェイハンドシェイクした場合、クライアントは三度目の握手をしていないので、再び接続を開くことはありませんが、サーバーを無視した後、居住地に送られた接続確認要求です。
2.TCP / IP 4波(リリースTCPコネクション)
- クライアント・アプリケーション・プロセスは、接続解放セグメントを発行し、に再びデータの送信を停止し FIN-WAIT-1(終了を待つ1)状態、サーバが確認するのを待ちます
- サーバはに、確認応答期間の後に送信された接続解放メッセージを受信 CLOSE-WAIT(閉待ち)状態、送信データサーバと、クライアントは投げ受信します
- クライアントがサーバから確認応答を受信した場合、処理を進める(FIN-WAIT-2 待機終了2)サーバが接続放出セグメントを発行するための状態は、待機します
- データサーバを送信するためのデータが、に、接続放出セグメントを送信しない LAST-ACK(最終確認)状態、クライアントは、確認応答を待ちます
- クライアントが接続解放セグメント、確認、入力した受信 TIME-WAITを(待機)状態、待機タイマ設定の経過時間2MSL 入った後CLOSED(クローズ)状態を
- サーバがクライアントのセグメントを受信した後、入力して CLOSED 状態を
1つの説明は非常に明確な方法である:
クライアント:私は終わりにしたいです
サーバー:わかりましたので、私はデータを終え
サーバー:私は走りました
クライアント:私は本当に終わりました
なぜ4つの波?
クライアントは、FIN接続解放メッセージを送信した後、サーバはこのメッセージを受信し、それはCLOSE-WAIT状態に入りました。状態は、サーバーがFIN接続解放メッセージを送信し、転送が完了した後、サーバーは、まだ終わってデータ伝送を送信できるようにすることです。
何TIME_WAIT 2mlのを待つ必要があるのはなぜですか?
これは、TCP TIME_WAIT状態です。クライアントを待っている2mlのは達していない場合、クライアントは、サーバが適切にCLOSE(クローズ)状態に入ることができるように、サーバは、タイムアウト接続解放セグメントを再送します、サーバーに到達するために、最終的なセグメントを保証することができます。
スリーウェイハンドシェイクと4手を振って、あなたも詳細を学ぶ必要がある、私は尋ねることがたくさんになると思いますが、私は知っているので。
OSI 7層:
物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、層、アプリケーション層の表現。
プロセスのHTTPリクエスト(ウェブ要求手順)
- URLを入力します。
- DNS解決
- TCP接続を確立(スリーウェイハンドシェイク)
- クライアントは、HTTPリクエストを送信します
- サーバーは要求を処理し
- 要求(ステータスコード)にサーバ応答
- HTMLブラウザ表示
- ブラウザは、HTMLでの追加リソースに対する要求を送信します。
(いくつかの場所で正確、十分ではない深さと詳細はありませんが、修正するために歓迎)
状態コード分類
ステータスコード | 全範囲 | 定義された範囲 | 意味 |
1XX | 100〜199 | 100-101 | 情報のヒント |
2XX | 200〜299 | 200-206 | 成功 |
3XX | 300〜399 | 300-305 | リダイレクト |
4XX | 400〜499 | 400から415 | クライアントエラー |
5XX | 500〜599 | 500から505 | サーバーエラー |
一般的なプロトコルポート
FTP | 21 |
SSH | 22 |
telnetの | 23 |
HTTP | 80 |
SMTP | 25 |
SNMP | 161 |
HTTPS | 443 |
...... | & |
一般的なポート:
200成功した要求400は、クライアントがリクエスト・エラーを送信通知します
セクション206は、要求が拒否されたサーバ403を要求します
301は、要求された404 URLが削除リンク要求で見つけることができません使用しています
一時的なリンクを要求する302 413リクエストのエンティティが大きすぎます使用
304リソースでエラーが発生しました古いリソースサーバーを使用することができます500を修正されていません
プロキシまたはゲートウェイ502を使用して、一時的なリンクエラーを要求する307
503 504サービスプロキシまたはゲートウェイのタイムアウト要求を提供することができません
物事を行うとき、私たちは413以上のリターンを満たしたが、次を見つけるために、インターネット上の情報を見つけること。
私はその後、client_max_body_sizeでnginx.confを変更し、upload_max_filesizeで中のphp.ini(プロセス・PHPのアップロードは、あなたの最大値を制限価格を尋ねるpostmaxsize場合、この値は、しなければならない)、post_max_sizeの(POSTメソッドによって受け入れられたが、情報の最大量を制限することができます)
PHPとその後、nginxのOKを再起動します。
このセクションでのメモはそう、学習プロセスに関連する知識の一部を記録しますか。ありがとうございます!ようこそ修正。