易截截图软件、单文件、免安装、纯绿色、仅160KB

用C#(C++)Socket后台编写自己的IIS服务器代替IIS

 本文触及到Socket TCP/IP编程方面的知识,其实这是很简单的内容,大家看不明的地方大可以先往下读,以后再看一遍,可能会觉得很简单。
很多人写网站用惯了IIS和Tomcat这些高级的后台来做网站后台服务,然而,在这些后台还没有问世之前,人们是怎么编写网站的呢?他们底层共同遵守的准则和标准又是什么呢?
这就是http协议和html、js、css标准。这些都是国际统一的标准,和.net、java、php这些语言完全没有关系的。比例如下面一段代码:
<html>
<body>
<form runat="server" id="form1">
<%
string str_response="hello world";
........................................
Response.Write(str_response);
%>
<asp:Button ID="bn_1" runat="Server" Text="点击"/>
</form>
</body>
</html>
长长的一段代码最终会被解析成下面这样
<html>
<body>
<form id="form1" action="">
hello world
<input type="submit" value="点击"  name="bn_1"/>
</form>
</body>
</html>
IIS帮助我们,将<%%>里面的内容转化成要输出的内容,同时将<asp:这些标签,转化为相应的标签(这里是<input>标签),这些在html里面是非标准的标签,属于iis规定的标签,iis有这个责任去将这些标签转化为标准的标签返回给客户。
上面这些是基础,相信很多编写过网站的人都知道是怎么一回事,下面回到正题。
下面这段代码可能大家就很少接触了:
GET /siteserver/mypage.youlike?h_username=myname HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152;
.NET CLR 3.5.30729)
Host: 127.0.0.1:45632
Content-Length: 93
Connection: Keep-Alive
Cache-Control: no-cache
其实这很简单,这就是客户端IE打开一个网址http://127.0.0.1:45632/siteserver/mypage.youlike?h_username=myname,http://127.0.0.1:45632这个网站的后台收到的全部协议代码。
这些字符串用换行符相隔。
其中127.0.0.1:45632是一个标准的站点的地址,127.0.0.1是IP,45632是服务端监听的端口。
User-Ag


相关文档:

C/C++返回内部静态成员的陷阱

 C/C++返回内部静态成员的陷阱
陈皓
背景
在我们用
C/C++开发的过程中,总是有一个问题会给我们带来苦恼。这个问题就是函数内和函数外代码需要通过一块内存来交互(比如,函数返回字符串),这个问题困
扰和很多开发人员。如果你的内存是在函数内栈上分配的,那么这个内存会随着函数的返回而被弹栈释放,所以,你 ......

C++类的成员指针

今天看《C++ Templates》,看到一个非类型模板实参的例子中有这样的代码:
template <typename T, T nontype_param>
class C;
class X{
public:
    int n;
    static bool b;
};
C<int X::*, &X::n>* c5;
X::*可以表示X类的成员的指针,用于表示类型,第一次见, ......

修练8年C++面向对象程序设计之体会


六年前,我刚热恋“面向对象”(Object-Oriented)时,一口气记住了近十个定义。六年后,我从几十万行程序中滚爬出来准备写点心得体会时,却无法解释什么是“面向对象”,就象说不清楚什么是数学那样。软件工程中的时髦术语“面向对象分析”和“面向对象设计”,通常是针对&ldqu ......

c++学习笔记

  来了csdn很久了,都没写过文章,有点过意不去,于是逼着自己这个懒人写了一下一些保留在个人笔记本上的小点滴,希望不会误导大家。。。。。一下只是笔记中的一小部分,以后有空在继续放上来。。。。。。
1 虚函数是为了继承接口和默认行为。纯虚函数只是继承接口,行为必须重新定义。
2 集和多集的区别:set支持唯 ......

[转]ASP.NET(C#)常用代码30例

1. 打开新的窗口并传送参数: 
  传送参数:
response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>")
  接收参数:
string a = Request.QueryString("id");
string b = Request.QueryString( ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号