Linux專案 基於HTTP協議的自主web伺服器

2021-10-01 05:35:13 字數 669 閱讀 9381

前言在學習了網路基礎方面的知識後,想要將自己所學習的網路知識應用到實踐中,因此,模擬實現乙個基於http協議的小型web伺服器

專案描述

採用b/s模型或者c/s模型(瀏覽器/伺服器模型),編寫支援中小型應用的http,理解常見網際網路應用行為(從上網到關閉瀏覽器的所有操作)模擬實現了使用瀏覽器上網背後的一系列技術細節;

技術特點

網路程式設計(tcp/ip協議,socket流式套接字、http協議)、多執行緒技術、cgi技術、shell指令碼、執行緒池技術引入

開發環境

centos 7、 vim/gcc/gdb +c(語言為c++);

具體實現

為了讓我們的伺服器程式更加地方便和實用,我們採取了cgi技術,它是外部應用程式與web伺服器之間的介面標準,是在cgi程式和web伺服器之間傳遞資訊的過程

注意:一般伺服器可能會同時被多個使用者訪問,大量的鏈結可能會讓伺服器的執行緒突然增加,因此,我們可以通過執行緒池來解決這個問題

專案特點

(1)支援客戶端/伺服器模式,客戶端利用get和post方法來請求資源;

(2)簡單快速:客戶端向服務端傳送請求服務時,只需要傳遞請求方法和路徑;

(3)靈活:http協議允許傳輸任意型別的資料物件,正在傳輸的型別由content-type來進行標記;

專案原始碼:

基於HTTP功能追加的協議

隨著web用途的多樣性,http協議上的限制以及自身效能問題逐漸顯露出來,http功能上的不足可以通過建立一套全新的協議來彌補。可是目前基於http的web瀏覽器使用環境遍布全球,因此無法拋棄http。一些新的協議在http的基礎上新增了新的功能。為了盡可能實時顯示這些更新的內容,伺服器上一有內容更...

基於http協議的介面測試 1

介面的分類 1 系統與系統之間的呼叫,比如銀行會提供介面供電子商務 呼叫,或者說,支付寶會提供介面給 呼叫 2 上層服務對下層服務的呼叫,比如service層會呼叫dao層的介面,而應用層又會呼叫服務層提供的介面,一般會通過 3 服務之間的呼叫,比如註冊使用者時,會先呼叫使用者查詢的服務,檢視該使用...

Android基於http協議多檔案上傳

實現多檔案的上傳,基於標準的http來實現。多檔案上傳myuploader類的實現 同步上傳多個檔案 基於標準的http實現,需要在非ui執行緒中呼叫,以免阻塞ui。public class myuploader dos.writebytes end fis.close dos.writebytes...