web伺服器的小實現

2021-10-05 20:09:11 字數 1173 閱讀 5046

主要結構

stop()

serversocket.

close()

;

1. 分發器(實現runnable)

request = new request(client);

response = new response(client);

沒有url(www.baidu.com),使用response 將首頁資訊寫入響應正文

inputstream is = thread.

currentthread()

.getcontextclassloader()

.getresourceasstream

("homepage");

response.

println

(new

string

(is.

readallbytes()

));response.

push2browser

(200

);

沒有請求響應的資源

同1,狀態為404,響應沒有找到資源的頁面

有對應資源

2. 請求

3. 響應

http響應也由四個部分組成,分別是:狀態行、訊息報頭、空行和響應正文。

4. xmlparser 通過url獲取配置檔案對應的servlet

將url資源作為pattern,建立map實現pattern–>servlet-name,servlet-name—>servlet-class(類在的位置,用於反射)

通過url-pattern得到servlet-name,進而得到servlet-class

利用反射得到servlet的物件

clz = class.

forname

(name)

;servlet servlet =

(servlet)clz.

getconstructor()

.newinstance()

;

web伺服器 簡單web伺服器實現

三次握手 一般情況下是瀏覽器先傳送請求資料,c s ack 應答 三次握手成功後,才開始進行通訊資料的收發。四次揮手 一般情況下是客戶端先關閉,給瀏覽器傳送關閉資訊。如果瀏覽器傳送了關閉資訊,但是伺服器沒有回過去,較慢 那麼瀏覽器一直發是不是就會有問題?所以會等待 2msl的時間。一般為2 5分鐘。...

web伺服器 併發web伺服器實現 epoll

在linux的網路程式設計中,很長的時間都在使用select來做事件觸發。在linux新的核心中,有了一種替換它的機制,就是epoll。epoll 是當今 linux 系統採用的方式,一般伺服器都是用 epoll 來實現的。epoll 是一種方案,這種方案不使用多程序多執行緒多協程,而是使用單程序單...

C 實現WEB伺服器

www的工作基於客戶機 伺服器計算模型,由web 瀏覽器 客戶機 和web伺服器 伺服器 構成,兩者之間採用超文字傳送協議 http 進行通訊,http協議的作用原理包括四個步驟 連線,請求,應答。根據上述http協議的作用原理,本文實現了get請求的web伺服器程式的方法,通過建立tcpliste...