什麼是 web server?
百度百科是這麼解釋的:
web服務器WEB服務器WWW
Web服務器可以解析(handles)HTTP協議。當Web服務器接收到一個HTTP請求(request),會返回一個HTTP響應(response),例如送回一個HTML頁面。為了處理一個請求(request),Web服務器可以響應(response)一個靜態頁面或圖片,進行頁面跳轉(redirect),或者把動態響應(dynamic response)的產生委托(delegate)給一些其它的程序例如CGI腳本,JSP(JavaServer Pages)腳本,servlets,ASP(Active Server Pages)腳本,服務器端(server-side)JavaScript,或者一些其它的服務器端(server-side)技術。無論它們(譯者注:腳本)的目的如何,這些服務器端(server-side)的程序通常產生一個HTML的響應(response)來讓浏覽器可以浏覽。
通俗的講,Web服務器傳送(serves)頁面使浏覽器可以浏覽,然而應用程序服務器提供的是客戶端應用程序可以調用(call)的方法(methods)。確切一點,你可以說:Web服務器專門處理HTTP請求(request),但是應用程序服務器是通過很多協議來為應用程序提供(serves)商業邏輯(business logic)。 常用的web Server我們常用的web服務,是IIS,tomcat等。在進行網絡通信的時候我們還會用到socket,甚至可以基於socket來實現HTTP通信,不過我們看一下更簡單的實現。
我們能用來做什麼?
IIS是非常強大的,功能齊全。我們的目標不是做一個和它一樣的web server。而是基於這樣的理念為我們的開發和架構服務。
特性和用處:
比如在我們的軟件中 需要在多個應用程序通信時。
專用的功能帶來更高的效率,比如我們僅僅處理某幾一個網頁的顯示。我們見過路由裡的那個管理路由器的頁面吧,那就是一個輕量級的小web server實現,它可放不下一個windows + iis;
內嵌的windows應用程序,比如我們想在winform裡嵌入webBrower,配合它來做一些應用。
我們的實現
基於 .net 框架的 HttpListener 類 來處理http協議,我們只需要基於它寫一個自己的處理類。
= = Thread( ThreadStart( (==== (request.HttpMethod == (request.HttpMethod == +[] buffer = Encoding.UTF8.GetBytes(= +[] res = Encoding.UTF8.GetBytes(
如何使用?
1.寫一個class 繼承自 Servlet 類,在這裡做具體的 業務邏輯實現。
2.復制main方法裡的代碼,在合適的實際 啟動 httpListener。
參考:http://wenku.baidu.com/link?url=105Uuf34jmjbFnNEp1YTw1ry3Rx7_bXoKWQvLciQRUg9g5wJpViAedTYP45yUcruGEjuL7lACtwyu2g2KplUhOLA5XCLKbrY1NzWf7Ah1Fe
http://msdn.microsoft.com/zh-cn/library/system.net.httplistener(v=vs.110).aspx