一、http 請求的解析
行的解析
頭的解析
二、http響應的組裝
行的組裝
頭的組裝
體的組裝
三、serversocket + socket 建立連線
四、靜態的controller
1.根據url獲取真實的檔案路徑
2.根據檔名字尾,獲取content—type
3.賦值檔案內容到response body中
1.得到request和response
2.得到url算出如果是靜態檔案,檔名是什麼?
3.如果檔案存在,當成靜態檔案處理,否則當成動態檔案處理
4.如果controller為空,說明既不是靜態也不是動態,404
5.否則,根據方法是get還是post,呼叫doget/dopost
如果是其他方法,405
1.提前解析好 web.xml
2.根據 url得到 controller名字
3.根據 controller名字得到 controller完整類名稱
4.利用自定義的類載入器,載入controller類
2.讀取檔案內容
3.呼叫defineclass變為class物件
5.利用反射,將該類例項化
專案二 HTTP伺服器
專案二 http伺服器 在學習servlet技術和使用tomcat之前,熟悉其底層基本原理。http伺服器採用請求 響應模式,即乙個請求對應乙個響應。本篇部落格將介紹該項目的基本思路,具體實現 可訪問博主的github 工欲善其事,必先利其器。需掌握 1 掌握http協議 2 掌握io流 3 網路程...
HTTP伺服器專案詳解
http 伺服器專案 功能 用到的技術 開發環境 注意 關於http的一些基礎知識我就不談了,有興趣可以自行了解 接下來,我就分模組的介紹一下我的專案吧 模組化介紹 socketapi 模組 入口處理模組 處理請求模組 響應處理模組 cgi 模組 執行緒池模組 專案的問題 web伺服器專案原始碼 因...
http伺服器與cgi互動過程
在處理cgi get 表單時,伺服器傳送給cgi程式是通過環境變數傳送的,並且get的表單內容存放在query string中,因此,在伺服器與cgi程式通訊之前,會先把get表單進行解析,並建立環境變數。同時,由於cgi程式是通過標準輸出向伺服器輸出資料,因此在通訊之前,還需要建立一條伺服器與cg...