用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
相关文档:
耗费了一下午,研究了一下VC的数据库编程,写了这个测试程序。主要的功能为实现access数据库的添加与删除,同时动态的将数据库数据显示在flexgrid控件中。下面把过程记录下来,以备后用。
一。ADO简介
ADO提供了一组非常简单,将一般通用的数据访问细节进行封装的对象。由于ODBC数据源也提供了一般的OLE DB Privide ......
C/C++返回内部静态成员的陷阱
陈皓
背景
在我们用
C/C++开发的过程中,总是有一个问题会给我们带来苦恼。这个问题就是函数内和函数外代码需要通过一块内存来交互(比如,函数返回字符串),这个问题困
扰和很多开发人员。如果你的内存是在函数内栈上分配的,那么这个内存会随着函数的返回而被弹栈释放,所以,你 ......
六年前,我刚热恋“面向对象”(Object-Oriented)时,一口气记住了近十个定义。六年后,我从几十万行程序中滚爬出来准备写点心得体会时,却无法解释什么是“面向对象”,就象说不清楚什么是数学那样。软件工程中的时髦术语“面向对象分析”和“面向对象设计”,通常是针对&ldqu ......
一、添加引用
添加com组件(Microsoft Office 11.0 Object Library )命名空间为Microsoft.Office.Interop.Excel
添加Excel.exe引用默认路径为C:\Program Files\Microsoft Office\OFFICE11\Excel.exe
二、Excel控制类
using System;
using System.Collections.Generic;
using ......