web服务器原理
什么是web服務(wù)器?
在Mosaic瀏覽器(通常被認(rèn)為是第一個(gè)圖形化的web瀏覽器)和超鏈接內(nèi)容的初期,演變出了“web服務(wù)器”的新概念,它通過HTTP協(xié)議來提供靜態(tài)頁面內(nèi)容和圖片服務(wù)。在那個(gè)時(shí)候,大多數(shù)內(nèi)容都是靜態(tài)的,并且HTTP 1.0只是一種傳送文件的方式。但在不久后web服務(wù)器提供了CGI功能。這意味著我們可以為每個(gè)web請(qǐng)求啟動(dòng)一個(gè)進(jìn)程來產(chǎn)生動(dòng)態(tài)內(nèi)容。現(xiàn)在,HTTP協(xié)議已經(jīng)很成熟了并且web服務(wù)器變得更加復(fù)雜,擁有了像緩存、安全和session管理這些附加功能。隨著技術(shù)的進(jìn)一步成熟,我們從Kiva和NetDynamics學(xué)會(huì)了公司專屬的基于Java的服務(wù)器端技術(shù)。這些技術(shù)最終全都融入到我們今天依然在大多數(shù)應(yīng)用開發(fā)里使用的JSP中。
首先我們暫時(shí)不考慮HTTP協(xié)議的各種請(qǐng)求方式,我們先跟著**(Web服務(wù)器工作原理總體描述01)這張圖,將一次Web服務(wù)的工作流程過一遍,我們假設(shè)以瀏覽器作為客戶端
(1) 用戶做出了一個(gè)操作,可以是填寫網(wǎng)址敲回車,可以是點(diǎn)擊鏈接,可以是點(diǎn)擊按鍵等,接著瀏覽器獲取了該事件。
(2) 瀏覽器與對(duì)端服務(wù)程序建立TCP連接。
(3) 瀏覽器將用戶的事件按照HTTP協(xié)議格式**打包成一個(gè)數(shù)據(jù)包,其實(shí)質(zhì)就是在待發(fā)送緩沖區(qū)中的一段有著HTTP協(xié)議格式的字節(jié)流。
(4) 瀏覽器確認(rèn)對(duì)端可寫,并將該數(shù)據(jù)包推入Internet,該包經(jīng)過網(wǎng)絡(luò)最終遞交到對(duì)端服務(wù)程序。
(5) 服務(wù)端程序拿到該數(shù)據(jù)包后,同樣以HTTP協(xié)議格式解包,然后解析客戶端的意圖。
(6) 得知客戶端意圖后,進(jìn)行分類處理,或是提供某種文件、或是處理數(shù)據(jù)。
(7) 將結(jié)果裝入緩沖區(qū),或是HTML文件、或是一張圖片等。
(8) 按照HTTP協(xié)議格式將(7)中的數(shù)據(jù)打包
(9) 服務(wù)器確認(rèn)對(duì)端可寫,并將該數(shù)據(jù)包推入Internet,該包經(jīng)過網(wǎng)絡(luò)最終遞交到客戶端。
(10) 瀏覽器拿到包后,以HTTP協(xié)議格式解包,然后解析數(shù)據(jù),假設(shè)是HTML文件。
(11) 瀏覽器將HTML文件展示在頁面
以上為Web服務(wù)器工作基本原理。其實(shí)不難發(fā)現(xiàn),這僅僅只是一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)通信。我們應(yīng)該深信,作為一個(gè)服務(wù)器,其根本的工作無非有三個(gè)
接收數(shù)據(jù) 2. 發(fā)送數(shù)據(jù) 3. 數(shù)據(jù)處理
而Web服務(wù)器的本質(zhì)就是 接收數(shù)據(jù) ? HTTP解析 ? 邏輯處理 ? HTTP封包 ? 發(fā)送數(shù)據(jù)
高級(jí)的服務(wù)器無非就是將這三個(gè)部分更加細(xì)致的設(shè)計(jì)了。
原文:https://blog.csdn.net/qq_36359022/article/details/81666221?
轉(zhuǎn)載于:https://www.cnblogs.com/lr1402585172/p/10535209.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
- 上一篇: 治疗女性不孕不育多少钱
- 下一篇: 竞态条件