深入javaweb學習記錄-01web請求過程

web2.0時代的到來,互聯網的網絡架構已經逐步替代傳統C/S架構.

B/S架構的好處

1 客戶端使用統一的瀏覽器,瀏覽器具有統一性,不需要配置,使用簡單。

2 服務端基於統一的HTTP。 簡化的開發

B/S網絡架構概述

B/S網絡架構得到了簡化,是基於統一的應用層協議HTTP來交互。與C/S架構的互聯網程序採用長連接的交互模式不同,HTTP採用無狀態的短連接通信,通常情況下一次請求就完成了一次數據交互,通常一次請求也對應一次業務邏輯,然後連接就會斷開,採用這種方式是爲了能夠同時服務更多的用戶,互聯網應用每天都有很多的用戶請求量,不可能每一個用戶都訪問一次就一直保留這個連接。

HTTP請求流程

瀏覽器輸入域名

  用戶通過瀏覽器輸入域名

請求DNS把域名解析成對應IP地址

  互聯網都是通過URL來發布和請求資源的,而URL中的域名需要解析成IP地址才能與遠程服務器建立連接,將域名解析成IP地址就是DNS解析的工作內容。下面網址有更加詳細說明
  http://www.360doc.com/content/13/0527/17/11253639_288596772.shtml

根據IP地址在互聯網找到對應服務器

    獲取IP地址之後就會向對應的遠程服務器發起HTTP請求了,發起一次HTTP請求與建立一次Socket連接區別不大,只不過outputStream.wirte() 寫的是二進制字節數據格式要符合HTTP。瀏覽器建立socket連接之前,必須根據地址欄的URL域名解析出來IP地址,然後根據IP+PORT與遠程服務器進行連接,然後瀏覽器根據這個URL組裝HTTP請求頭,通過outputStream.write()發送到遠程服務器,服務器等待inputStream.read()讀取請求數據,進行邏輯處理,然後返回數據給瀏覽器,最後斷開連接.

  客戶端發送一個HTTP請求到服務器的請求消息包括以下格式:請求行(request line)、請求頭部(header)、空行和請求數據四個部分組成

這裏寫圖片描述

 客戶端請求方法 http://tools.jb51.net/table/http_request_method
 客戶端請求頭   http://tools.jb51.net/table/http_header
 服務器響應頭   http://www.w3cschool.cn/http/6hafgfmw.html
 HTTP狀態碼    http://www.w3cschool.cn/http/g9prxfmx.html

服務器根據用戶請求進行應答,返回數據

  在服務器端接收到請求之後進行邏輯處理,返回結果給瀏覽器.
  HTTP響應也由四個部分組成,分別是:狀態行、消息報頭、空行和響應正文。

這裏寫圖片描述

瀏覽器對返回數據進行渲染

發佈了87 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章