天天看點

JavaWeb開發基本概念兩種體系結構Web Server 與 Web ClientHTTP,HTML,URLHTTP工作步驟

Java Web應用程式用于建立動态網站

Java通過servlet和jsp提供對web應用程式的支援

兩種體系結構

C/S(Client/Server),用戶端伺服器體系結構

JavaWeb開發基本概念兩種體系結構Web Server 與 Web ClientHTTP,HTML,URLHTTP工作步驟

B/S(Browser/Server),浏覽器伺服器體系結構

JavaWeb開發基本概念兩種體系結構Web Server 與 Web ClientHTTP,HTML,URLHTTP工作步驟
  1. 開發維護成本: C/S開發維護成本高于B/S,因為需要對客戶機上的每個軟體進行更新維護,而B/S隻需要維護伺服器程式即可
  2. 用戶端負載: C/S負載大, 因為用戶端不僅負責與使用者互動,而且需要向服務端發送請求等,B/S将事務邏輯處理都放在了伺服器,用戶端隻負責顯示。
  3. 安全性: C/S安全性高,B/S由于使用人數多,不固定,安全性低
  4. 作用範圍: C/S适用于區域網路,B/S适用于廣域網

Web Server 與 Web Client

Web伺服器是一種可以處理用戶端請求并将響應發送回用戶端的軟體,它在某些實體計算機上運作,并在特定端口上偵聽用戶端請求。如Apache,Tomcat等。

Web用戶端是一種與伺服器通信的軟體。一些使用最廣泛的Web用戶端是Firefox,Google Chrome,Safari等。當我們通過

URL

向伺服器請求某些内容時,Web用戶端會負責建立請求并将其發送到伺服器,然後解析伺服器響應并将其呈現給使用者。

HTTP,HTML,URL

HTTP與HTML

Web伺服器和Web用戶端是兩個單獨的軟體,是以需要使用某種通用語言和通用的通信協定進行通信。

HTML(超文本标記語言)

是伺服器和用戶端之間的通用語言。

HTTP(超文本傳輸協定)

是伺服器和用戶端之間的通信協定,

HTTP:

  • 工作于C/S架構上,從網際網路(WWW:World Wide Web )伺服器傳輸超文本到本地浏覽器(用戶端)。
  • 基于TCP/IP通信協定

常用傳輸協定:

  • http 超文本傳輸協定,除了傳遞文本,還可以傳遞媒體資源檔案(或者流檔案)及XML格式資料,預設端口号80
  • https 更加安全的http,一般涉及支付的網站都要采用https協定(多的s:ssl 加密傳輸),預設端口号443
  • ftp 檔案傳輸協定(一般應用于把本地資源上傳到伺服器端),預設端口号21

URL

URL,Universal Resource Locator統一資源定位符,用于定位伺服器和資源。網絡上的每一種資源都有自己獨特的位址。拿個假URL示例:

  • https://space.bilibili.com:443/20692606/favlist?fid=80026506&ftype=create

  • https://

    – 通信協定
  • space.bilibili.com

    – 域名,由DNS伺服器負責解析為IP位址
  • :443

    – 端口号的取值範圍0~65535,用端口号來區分同一台伺服器上的不同項目
  • /20692606/favlist

    – 請求資源路徑名稱
  • ?fid=80026506&ftype=create

    – 問号傳參資訊
  • #zhenyu

    – HASH值,也能充當資訊傳輸的方式,錨點定位,基于HASH實作路由管控(不同的HASH值,展示不同的元件和子產品)

HTTP工作步驟

在浏覽器輸入URL之後

  1. 浏覽器向 DNS 伺服器請求解析該 URL 中的域名所對應的 IP 位址;
  2. 解析出 IP 位址後,根據該 IP 位址和端口号,和伺服器建立TCP套接字連接配接;
  3. 浏覽器發出讀取檔案(URL 中域名後面部分對應的檔案)的HTTP 請求,該請求封包作為 TCP三向交握的

    第三個

    封包的資料發送給伺服器,一個請求封包由請求行、請求頭部、空行和請求資料4部分組成;
  4. Web伺服器解析請求,定位請求資源。伺服器将資源複本寫到TCP套接字,由用戶端讀取。一個響應由狀态行、響應頭部、空行和響應資料4部分組成。
  5. 釋放 TCP 連接配接,若connection 模式為close,則伺服器主動關閉 TCP 連接配接,用戶端被動關閉連接配接; 若connection 模式為keepalive,則該連接配接會保持一段時間,在該時間内可以繼續接收請求;
  6. 用戶端浏覽器首先解析狀态行,檢視表明請求是否成功的狀态代碼。然後解析每一個響應頭,響應頭告知以下為若幹位元組的HTML文檔和文檔的字元集。用戶端浏覽器讀取響應資料HTML,根據HTML的文法對其進行格式化,并在浏覽器視窗中顯示。

HTTP封包

請求封包由請求行(request line)、請求頭部(header)、空行和請求資料四個部分組成。

JavaWeb開發基本概念兩種體系結構Web Server 與 Web ClientHTTP,HTML,URLHTTP工作步驟

響應封包也由四個部分組成,分别是:狀态行、消息報頭、空行和響應正文。

JavaWeb開發基本概念兩種體系結構Web Server 與 Web ClientHTTP,HTML,URLHTTP工作步驟

繼續閱讀