HTTPプロトコル[深さ] --2019-08-09 12時11分34秒

オリジナル:http://106.13.73.98/__/80/

HTTPは、略語(ハイパーテキスト転送プロトコル)ハイパーテキスト転送プロトコルです。

HTTPは、World Wide Web Consortium(ワールドワイドウェブコンソーシアム)とインターネットワーキンググループIETF(インターネット技術タスクフォース)の協力の発展の結果であり、(彼らは)最終的にはRFCのシリーズを発行しました。

RFC 1945は、RFC 2616は、今日広く使われているバージョンを定義し、HTTP / 1.0バージョン、最も顕著なのRFC 2616が定義されて--http 1.1

------->

HTTPプロトコル(ハイパーテキスト転送プロトコル)、ハイパーテキスト転送プロトコルは、ローカルブラウザにWWWサーバハイパーテキスト転送プロトコルからの送信のために使用されます。

ネットワークトラフィックが減少するようにそれは、ブラウザをより効率的にすることができます。それは、コンピュータが正常にかつ迅速にハイパーテキスト文書を転送していることを確認しないと、文書はまた、送信のどの部分を決定し、どのように最初の(このような従来のグラフィックス、テキストなど)のショーの一部だけではなく。

@

HTTP応答モデルは

HTTPプロトコルが常にクライアントの要求によって開始され、以下に示すように、サーバは、バックレスポンスを送信します
ここに画像を挿入説明
。これは、HTTPプロトコルの使用を制限し、クライアントが要求を開始しなかったときに達成することができない、サーバーはクライアントにメッセージをプッシュします。

HTTPワークフロー

一次HTTP操作称为一个事务自分の仕事のコースは、4つのステップに分けることができます。

  1. まず、クライアントとサーバは接続を確立する必要があります。ただ、ハイパーリンクをクリックして、HTTPの作業が始まりました。
  2. 接続が確立された後、クライアントがサーバに要求を送信し、リクエスト形式を意味します統一リソース識別子(URL)、プロトコルバージョンは、
    MIMEの背後にある(文のテキスト情報)情報は、リクエスト修飾子、クライアント情報と可能性を含んでいますコンテンツ。
  3. 要求に応じて、サーバは、対応する応答情報、プロトコルバージョン番号情報、成功またはエラー・コードを含むステータス行の形式を得た
    バックをMIME情報は、サーバ情報、エンティティ情報および可能なコンテンツを含んでいます。
  4. クライアントは、サーバーと、表示画面上でユーザによって返された情報を受信し、クライアントはブラウザを介してサーバーから切断します。


エラーが複数ステップの過程で発生した場合、エラーメッセージが表示出力によってクライアントに返されます。
ユーザーの場合、これらのプロセスは、HTTP自身によって行われ、ユーザは、単にクリックして、情報を待つために、マウスを使用しますそれを示しています。
***

HTTPリクエスト

HTTPリクエストメソッドDaquanの
いいえ。 方法 説明
1 取得する リクエストページ情報が指定され、エンティティボディを返します。
2 同様の要求を取得するが、応答はヘッダを得るために、特定のコンテンツに返されていません
3 役職 処理要求指定されたリソース(例えば、ファイル送信フォームまたはアップロード)にデータを送信します。リクエストボディに含まれるデータ。POSTリクエストは、新しいリソースにおよび/または既存のリソースを確立するために改訂することがあります。
4 プット 文書の内容を交換するために指定されたクライアントからサーバに送信されたデータ。
5 DELETE 指定されたページを削除するには、サーバーを要求します。
6 CONNECT HTTP / 1.1プロトコルは、プロキシサーバのパイプラインモードへの接続のために予約することができます。
7 OPTIONS これは、クライアントがサーバーのパフォーマンスを表示することができます。
8 トレース エコー要求は、主にテストや診断のために、サーバーが受信しました。
9 パッチ エンティティテーブルを備え、テーブルは、元のURIの内容に違いが示さ示します。
10 MOVE サーバーは、別のウェブアドレスに指定されたページを要求します。
11 COPY ネットワークアドレスで指定されたページの別のコピーへの要求サーバー。
12 リンク リンク関係を確立するためにサーバーを要求します。
13 UNLINK 関係のリンクを解除します。
14 WRAPPED これは、クライアントがパッケージを介してリクエストを送信することができます。
15 拡張-mothed プロトコルを変更することなく、他の方法を向上させることができます。
HTTPリクエストは、


客户端连上服务器后,向服务器请求某个Web资源,称之为客户端向服务器发送了一个HTTP请求.

一个完整的HTTP请求包括的内容:一个请求行、若干消息头、实体内容

下:
ここに画像を挿入説明

詳細HTTPリクエスト - リクエストヘッダ

·
请求行中的GET称之为请求方式,请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT,常用的有: GET、 POST
·
用户如果没有设置,默认情况下浏览器向服务器发送的都是GET请求,例如在浏览器直接输地址访问,点超链接访问等都是GET,用户如想把请求方式改为POST,可通过更改表单的提交方式实现.
·
不管POST或GET,都用于向服务器请求某个WEB资源,这两种方式的区别主要表现在数据传递上:如果请求方式为GET方式,则可以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔,例如:GET /mail/1.html?name=abc&password=xyz HTTP/1.1
·
GET请求的特点:在URL地址后附带的参数是有限制的,其数据容量通常不能超过1K.
·
如果请求方式为POST方式,则可以在请求的实体内容中向服务器发送数据,Post方式的特点:传送的数据量无限制.

HTTP请求细节——消息头

·
Accept
声明浏览器支持的数据类型
·
Accept-Charset
声明浏览器支持的字符集
·
Accept-Encoding
声明浏览器支持的压缩格式
·
Accept-Language
声明浏览器的语言环境
·
Host
声明浏览器要访问那台主机
·
If-Modified-since
声明浏览器缓存数据的时间
·
Referer
声明客户机是哪个页面来的,用于防盗链
·
Connection
浏览器通过这个头告诉服务器,请求完后是断开链接还是保持链接
·
X-Requested-with: XMLHttpRequest
代表通过ajax方式进行访问
·
User-Agent
请求载体的身份标识,浏览器标识
·
以上为HTTP请求中的常用消息头,如下图:
ここに画像を挿入説明
***

HTTP 响应

HTTP响应包括的内容

·
HTTP响应代表服务器向客户端回送的数据.
它包括:一个状态行、若干消息头、以及实体内容.
ここに画像を挿入説明

HTTP响应细节——状态行

·
状态行格式:
HTTP/1.1 200 OK HTTP版本号 状态码 原因叙述<CRLF>
·
状态码用于表示服务器对请求的处理结果.
状态码是一个三位的十进制数,响应状态码分为5类.
ここに画像を挿入説明
·
常见的HTTP状态码
·
100 客户端应继续发送请求
客户端应当继续发送请求,客户端应当继续发送请求的剩余部分.
或如果请求已经完成,忽略这个响应.
·
101 转换协议
在发送完这个响应的最后空行后,服务器将会切换到在Upgrade消息头中定义的那些协议.
只有在切换到新的协议更有好处的时候才应该采取类似的措施.
·
102 继续处理
由WebDAV(RFC 2518)扩展的状态码,代表请求将被继续执行.
·
200 请求成功
表示这条请求执行成功了.
处理方式:获得响应的内容,进行处理.
·
201 请求完成
表示这条请求执行完成了
结果是创建了新资源,新创建的资源的URL可在响应的实体中得到.
处理方式在爬虫中不会遇到.
·
202 请求被接受
请求被接受了,但处理尚未完成.
处理方式:阻塞等待.
·
204 服务器以实现请求
服务器已经实现了请求,但未返回新的信息.
如果客户端是用户代理,则无需为此更新自身的文档视图.
处理方式:丢弃.
·
300
该状态码不被HTTP/1.0的应用程序直接使用,只是作为3XX类型回应的默认解释,存在多个可用的被请求资源.
处理方式:若程序中能够处理,则进一步处理;若程序中不能够处理,则丢弃.
·
301 永久重定向
请求到的资源都会分配一个永久的URL,这样就可以在将来通过该URL来访问此资源.
处理方式:重定向到分配的URL,永久重定向.
·
302 临时重定向
请求到资源在一个不同的URL处临时保存.
处理方式:重定向到临时的URL,临时重定向.
·
304 请求的资源未更新
请求的资源未更新.
使用的是本地缓存文件(不会发送请求).
处理方式:丢弃.
·
400 非法请求
处理方式:丢弃.
·
401 未授权
处理方式:丢弃.
·
403 禁止
处理方式:丢弃.
·
404 没有找到
处理方式:丢弃.
·
500 服务器内部错误
服务器遇到了一个未曾预料的状况,导致它无法完成对请求的处理.
一般这个问题会在服务器端的源代码出现错误时出现.
即服务器问题,代码逻辑有问题.
·
501 服务器无法识别
服务器不支持当前请求需要的某个功能.
当服务器无法识别请求的方法时,将无法支持其对任何资源的请求.
·
502 错误网关
作为网关或代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应.

HTTP响应细节——常用响应头


Location
ヘッドを介してサーバ、どこにジャンプするようにブラウザに指示する
。・
Server
宣言・サーバ・モデル

Content-Encoding
ヘッドを介してサーバー、ブラウザを語って、圧縮されたデータ・フォーマット

Content-Length
ステートメントサーバはデータの長さを返します
-
Content-Language
サーバー頭を通じて、ブラウザの言語を伝えます環境

Content-Type
ステートメントのサーバーは、データのタイプを返します
-
Refresh
定期的に更新し、ブラウザを語って、ヘッドを介してサーバーを

Content-Disposition
ヘッドを介してサーバーには、ブラウザを伝えることは、オープンデータをダウンロードする
-
Transfer-Encoding
サーバーをヘッドを通して、ブラウザのデータを伝える方法ループバックをブロックしています

Expires: -1
制御キャッシュしていないブラウザ

Cache-Control: no-cache
よります。http://tools.jb51.net/table/http_header
Pragma: no-cache


オリジナル:http://106.13.73.98/__/80/

おすすめ

転載: www.cnblogs.com/gqy02/p/11326450.html