無線&移動互聯網技術研發

          換位思考·····
          posts - 19, comments - 53, trackbacks - 0, articles - 283
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          HTTP 通信過程

          Posted on 2009-05-14 14:30 Gavin.lee 閱讀(355) 評論(0)  編輯  收藏 所屬分類: web 積累(前端 + 后臺)

          這邊文章還是以前寫的,最近又看到了,呵呵,刪掉也可惜了,貼在這里就當紀念吧。
          HTTP
          通信機制是在一次完整的HTTP通信過程中,Web瀏覽器與Web服務器之間將完成下列7個步驟

          (1)    建立TCP連接

               在HTTP工作開始之前,Web瀏覽器首先要通過網絡與Web服務器建立連接,該連接是通過TCP來完成的,該協議與IP協議共同構建Internet,即著名的TCP/IP協議族,因此Internet又被稱作是TCP/IP網絡。HTTP是比TCP更高層次的應用層協議,根據規則,只有低層協議建立之后才能,才能進行更層協議的連接,因此,首先要建立TCP連接,一般TCP連接的端口號是80

          -

          (2)    Web瀏覽器向Web服務器發送請求命令

               一旦建立了TCP連接,Web瀏覽器就會向Web服務器發送請求命令

          例如:GET/sample/hello.jsp HTTP/1.1

          -

             (3) Web瀏覽器發送請求頭信息

               瀏覽器發送其請求命令之后,還要以頭信息的形式向Web服務器發送一些別的信息,之后瀏覽器發送了一空白行來通知服務器,它已經結束了該頭信息的發送。

          -

          (4)    Web服務器應答

               客戶機向服務器發出請求后,服務器會客戶機回送應答,

                HTTP/1.1 200 OK

               應答的第一部分是協議的版本號和應答狀態碼

          -

          (5)    Web服務器發送應答頭信息

               正如客戶端會隨同請求發送關于自身的信息一樣,服務器也會隨同應答向用戶發送關于它自己的數據及被請求的文檔。

          -

          (6)    Web服務器向瀏覽器發送數據

               Web服務器向瀏覽器發送頭信息后,它會發送一個空白行來表示頭信息的發送到此為結束,接著,它就以Content-Type應答頭信息所描述的格式發送用戶所請求的實際數據

          -

          (7)    Web服務器關閉TCP連接

               一般情況下,一旦Web服務器向瀏覽器發送了請求數據,它就要關閉TCP連接,然后如果瀏覽器或者服務器在其頭信息加入了這行代碼

          Connection:keep-alive

          TCP連接在發送后將仍然保持打開狀態,于是,瀏覽器可以繼續通過相同的連接發送請求。保持連接節省了為每個請求建立新連接所需的時間,還節約了網絡帶寬。

          主站蜘蛛池模板: 孝义市| 西城区| 兰考县| 呼玛县| 宿迁市| 岳普湖县| 灵山县| 景宁| 宁乡县| 郯城县| 略阳县| 融水| 东乌珠穆沁旗| 牙克石市| 襄樊市| 京山县| 平南县| 壤塘县| 青川县| 宁远县| 屏东市| 独山县| 来凤县| 潜山县| 奎屯市| 宣汉县| 富锦市| 遵化市| 龙山县| 黑河市| 宕昌县| 五河县| 佛教| 修水县| 丰宁| 扎鲁特旗| 眉山市| 琼中| 利辛县| 石城县| 巴塘县|