[置頂] 基於HTTP協議的Web服務器


這篇博文只給出運行截圖,沒有附上源代碼。
如果想要參考源碼,請到 https://github.com/common1994/httpd * 下載。*


*下面簡單講述一下HTTP協議和項目描述:*
HTTP協議是一個屬於應用層的協議,主要特點可概括如下:
1)支持客戶/服務器模式。
2)簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規定了客戶與服務器聯系的類型不同。由於HTTP協議簡單,使得HTTP服務器的程序規模小,因而通信速度很快。
3)靈活:HTTP允許傳輸任意類型的數據對象。正在傳輸的類型由Content-Type加以標記。
4)無連接:無連接並不是不需要連接,無連接的含義是限制每次連接只處理一個請求。服務器處理完客戶的請求,並收到客戶的應答后,即斷開連接。
5)無狀態:HTTP協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味着如果后續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大。

項目描述:
1)HTTP協議的特點之一是支持客戶/服務器模式,客戶只需傳送請求方法和路徑給服務器;
2)對客戶端提出的請求,服務器端在確定url有效后,返回給客戶端請求的資源,包括文字、圖片;
3)支持表單提交,可以借助瀏覽器或telnet工具使用GET、POST方法訪問服務器;
4)服務器拿到客戶提交的數據后,會把數據存入到遠端數據庫,客戶端也可請求查看數據庫信息;

下面這幅圖是整個項目的框架:
這里寫圖片描述

接下來是程序運行截圖: (命令行是服務器端,瀏覽器是客戶端)

1、服務器端起來以后,處於阻塞狀態,等待客戶端的連接請求:
這里寫圖片描述

2、客戶端連接服務器的ip和端口號,表示請求主頁(主頁信息是一行文字和一幅圖片)
這里寫圖片描述

3、客戶端在服務器的網絡地址(ip+端口號)后加上申請資源的路徑,該頁面能從鍵盤得到兩個數
這里寫圖片描述
經提交(submit)后,會顯示兩個數相加的和
這里寫圖片描述
這里寫圖片描述

4、首先看一下數據庫中已有的信息:
這里寫圖片描述

5、在表單中填入要插入數據庫中學生信息表的信息
這里寫圖片描述
數據插入成功:
這里寫圖片描述

6、再次確認數據庫的內容:
這里寫圖片描述
(因為id項被設置為自動增長,若在地5)步中把id設為默認0,每插入一個元素,id會自動在最大的id的基礎上再加一,之前有些元素已經被刪除,所以插入后id變為很大的數)


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com