主要結構
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...