我爱Aspx >> Asp.Net >> C#实现WEB服务器② MIME_Version:1.0
它指示MIME类型的版本。
③ content_type:类型
这个头信息非常重要,它指示HTTP体信息的MIME类型。如:content_type:text/html指示传送的数据是HTML文档。
④ content_length:长度值
它指示HTTP体信息的长度(字节)。
关闭连接:当应答结束后,Web浏览器与Web服务器必须断开,以保证其它Web浏览器能够与Web服务器建立连接。
二、C#实现Web服务器功能的程序设计
根据上述HTTP协议的作用原理,实现GET请求的Web服务器程序的方法如下:
创建TcpListener类对象,监听某端口(任意输入闲置端口 如:8080 )。
等待、接受客户机连接到该端口,得到与客户机连接的socket;
从与socket关联的输入流中读取一行客户机提交的请求信息,请求信息的格式为:GET 路径/文件名 HTTP/1.0
从请求信息中获取请求类型。如果请求类型是GET,则从请求信息中获取所访问的HTML文件名。没有HTML文件名时,则以index.html作为文件名;
如果HTML文件存在,则打开HTML文件,把HTTP头信息和HTML文件内容通过socket传回给Web浏览器,然后关闭文件。否则发送错误信息给Web浏览器;
关闭与相应Web浏览器连接的socket字。
实现的代码如下:
//////////webserver.cs//////////////////
namespace cnnbsun.webserver
{
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
Ҷƪл˵?
C#中时间差的计算[05-20]
C#四种Eval测试结果:不要用Code..[05-20]
通常C#面试题[05-20]
用WebService和javascript实例类..[05-20]
不用.net和其组件用asp访问webse..[05-20]
继承System.Web.UI.Page的页面基..[05-20]
用C#与XML创建动态分层菜单[05-20]
利用WebClient和WebRequest类获得..[05-20]
使用ASP.NET中调用WebService时不..[05-20]
利用SOAP(Webservice)上传文件[05-20]
C#中时间差的计算[05-20]
ASP如何实现文件下载? [ADODB.St..[05-20]
不停滚动特效代码的几个例子[05-20]
加入身份验证信息的SMTP mail发送[05-20]
JS(Unicode->GB)的精简版(仍..[05-20]
利用filter实时切换big5和gb2312..[05-20]
Js中实现拼音和UrlEncode的功能(..[05-20]
汉字转化为拼音(asp版)[05-20]
利用Wipe等ActiveX技术,实现n(n..[05-20]
通过Adodb.Stream取得图像(BMP J..[05-20]