1、實現一個http伺服器需要怎樣進行?需要哪些知識
需要socket(套接字)編程、HTTP協議的知識,實現一個最簡單的HTTP伺服器,其實就是根據版HTTP協議的權通信規則來發送socket數據,往往是綁定(用bind調用)一個socket(套接字)然後監聽(用listen調用)80埠,具體任何實現可以參考網上的一些簡單的代碼。之所以說這是最簡單的HTTP伺服器,是因為HTTP伺服器還要處理並發、緩存等功能,更進一步還要支持某種動態腳本比如PHP的模塊。
2、簡單的HTTP Web伺服器實現
可以使用開源的http伺服器如:Apache HTTP 伺服器。
3、如何創建一個http伺服器
具體操作步驟如下:
1.確認計算機的名字:我的電腦->右鍵屬性->計算機名->確認計算機的名字,最好不是特長的那一種。
2.如果是完整版的xp:在控制面板->添加刪除程序->添加刪除windows組件->選中IIS後->下一步安裝->下一步即可。
3.如果是簡版的xp那一種,安裝的時候問題可就多了。
一般要經過一番苦戰。
3.1.首先開始->運行->進入cmd模式下運行以下命令
Regsvr32 urlmon.dll
Regsvr32 actxprxy.dll
Regsvr32 shdocvw.dll
Regsvr32 oleaut32.dll
3.2.完事之後可以裝IIS了,但是你可能發現在添加刪除windows組件競然沒有IIS安裝的選項,
那怎麼安裝呀。按下以方法來吧。
3.2.1.下載IIS5.1(在我的附件中有)以下鏈接:
iis.rar (473.1 KB)
iis5.1xp.part2.rar (5.5 MB)
iis5.1xp.part1.rar (6 MB)
3.2.2.在運行中輸入"c:\windows\inf\sysoc.inf",系統會自動使用記事本打開sysoc.inf這個文件。
在sysoc.inf中找到"[Components]"這一段,並繼續找到類似"iis=iis.dll,OcEntry,iis.inf,hide,7"的一
行字,把這一行替換為"iis=iis.dll,OcEntry,iis.inf,,7"。之後保存並關閉,如果沒有這句話,那麼直接
把後面這一行加在最後即可以
4、網路編程---實現一個HTTP伺服器
如果編寫要求是完全靠自個去編,不利用控制項的話。
你的要求以標准5號字十個標准A4頁面也裝不下的。
可以寫成一本小冊了。所以,這種課題性的題目還是不要在網上提吧,沒人能花那麼多的精力幫你寫的。
5、http伺服器和web伺服器是同一個伺服器?二者什麼區別和聯系?一定採納
http伺服器和web伺服器不是同一個伺服器,聯系:兩者都是用來處理http請求,並根據http請求返回響應數據的伺服器,區別如下:
一、指代不同
1、http伺服器:是Apache軟體基金會的一個開放源代碼的網頁伺服器。
2、web伺服器:也稱為WWW(WORLD WIDE WEB)伺服器,主要功能是提供網上信息瀏覽服務。
二、功能不同
1、http伺服器:可以在大多數電腦操作系統中運行,由於其具有的跨平台性和安全性,被廣泛使用。
2、web伺服器:可以解析(handles)HTTP協議。當Web伺服器接收到一個HTTP請求(request),會返回一個HTTP響應(response),例如送回一個HTML頁面。
三、特點不同
1、http伺服器:快速、可靠並且可通過簡單的API擴展,Perl/Python解釋器可被編譯到伺服器中,可以創建一個每天有數百萬人訪問的Web伺服器。
2、web伺服器:Web伺服器傳送(serves)頁面使瀏覽器可以瀏覽,然而應用程序伺服器提供的是客戶端應用程序可以調用(call)的方法(methods)。
6、常用的web伺服器軟體有哪些
1.IIS
IIS是英文Internet Information Server的縮寫,譯成中文就是"Internet信息服務"的意思。它是微軟公司主推的伺服器,最新的版本是Windows2008裡麵包含的IIS 7,IIS與Window Server完全集成在一起,因而用戶能夠利用Windows Server和NTFS(NT File System,NT的文件系統)內置的安全特性,建立強大,靈活而安全的Internet和Intranet站點。
2.ApacheApache
ApacheApache在世界上的排名是第一的,它可以運行在幾乎所有廣泛使用的計算機平台上。Apache源於NCSAhttpd伺服器,經過多次修改,不僅簡單、速度快、而且性能穩定,還可以用來做代理伺服器。
3.Nginx
Nginx不僅是一個小巧且高效的HTTP伺服器,也可以做一個高效的負載均衡反向代理,通過它接受用戶的請求並分發到多個Mongrel進程可以極大提高Rails應用的並發能力。
4.Zeus
Zeus是一個運行於Unix下的非常優秀的Web Server,據說性能超過Apache,是效率最高的Web Server之一。
5.Sun
Sun的Java系統Web伺服器也就是以前的Sun ONE Web Server。主要出現在那些運行Sun的Solaris操作系統的關鍵任務級Web伺服器上。它最新的版本號是6.1,可以支持x86版本Solaris,Red Hat Linux,HP-UX 11i, IBM AIX,甚至可以支持Windows,但它的大多數用戶都選擇了SPARC版本的Solaris操作系統。
7、實現一個http伺服器需要怎樣進行?需要哪些知識
只談 Linux 下。
直接用現成的,Apache / Nginx,python -m SimpleHTTPServer
用庫寫基本的,Python 的 HTTPServer / CGIHTTPServer 等
用 C 從底層手寫版:POSIX API, Sockets,RFC 2616 。基本的單線程迭代阻權塞處理;然後是高級點的優化
I/O multiplexing (select / poll, epoll)
進程、線程分派模型:one-request-per-child / one-request-per-thread
非阻塞 I/O,edge trigger
8、如何寫一個簡單的HTTP伺服器
這是一個真實的HTTP請求的例子,其中每一行都以\r\n結尾。由於我們寫的是簡單的伺服器,所以我們只關心其中的幾行。
第一行稱為請求行,GET是請求方法,表示獲取資源,除此之外還有POST方法、PUT方法、HEAD方法、DELETE方法和OPTIONS方法等。由於我們寫一個簡單的伺服器,所以暫時僅支
持GET方法。/是URI,表示客戶希望訪問的資源的URI。HTTP/1.1是HTTP協議的版本,此例中表示1.1版本。我們需要解析請求行,需要解析出方法欄位、URI和HTTP協議版本。
第二行是Host欄位,表示所請求的資源所在的主機名和埠號。
第三行User-Agent是客戶的瀏覽器的類型,此例是運行在Ubuntu上的Firefox瀏覽器。
第四行Accept表示客戶接受的資源的類型。
第四行Accept-Language表示客戶接受的語言類型。
第五行Connection表示伺服器在發送完客戶請求的數據之後是否斷開TCP連接。keep-alive表示不斷開,close表示斷開。