HTTP協議,超文本傳輸協議
HTTP協議,超文本傳輸協議
a.Http協議現在使用的是1.1的版本
b.Http協議是應用層協議,底層要求使用可靠傳輸協議傳輸數據。通常傳輸層協議使用Tcp協議
c.Tcp協議規定兩臺計算機之間如何傳輸數據。
d.HTTP協議規定傳輸數據的格式,以便兩臺計算機之間理解對方發送的內容
e.HTTP協議規定了客戶端與服務端之間的通訊模式必須遵循1次請求一次響應的通訊過程
f.首先由客戶端(誰發送請求誰就是客戶端)發起請求(Request),客戶端通常是瀏覽器。然後服務端接收並輸出該請求,然後給予響應(Response)
g.HTTP1.1版本相較於1.0版本的一個通訊方式的改進在於:一次Tcp連接可以進行多次請求
與響應。而1.0版本時一次Tcp連接只能進行一次請求一次響應(多次請求響應才能
完成工作是開銷大,因為現在網頁內容有文字內容圖片內容等如果一次請求一次響應太慢,無法滿足需求)。h.
請求有客戶端發送至服務端具體格式在Http協議中有規定。
一個請求包含三部分內容:
1.請求行:請求行是一行字符串,格式為:method url protocol(CRLF)
例如:GET /index.html HTTP/1.1(CRLF)
CR:回車符,對應編碼:13
LF:換行符,對應編碼:10
註:回車是指回到最開始,換行是到下一行。現在的回車實際是回車加換行(Enter)
2.消息頭
3.消息正文
創建WebServer服務端基本結構
創建com.tedu.webserver.core包並在包中添加主要類:WebServer
該類負責循環接收客戶端的連接,並啟動線程處理某個客戶端的交互操作
該結構與之前聊天室服務端結構一致
線程任務有ClientHandler類完成,並定義在core包中
在ClientHandler的run方法中讀取客戶端發過來的內容並查看
HTTP協議,超文本傳輸協議