标签:win 不同 空间 bin 技术 png 依赖 dead head
浏览器与WEB服务器的协议是应用层协议,当前遵循HTTP/1.1,HTTP协议是无状态的协议
客户机与服务器通过请求和响应完成一次会话(Session),每次会话中,双方发送的数据称为消息(Message),消息分为两种:
请求消息和回应消息。
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。
HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。
与程序员相关的主要有两个层:传输层和应用层。
传输层协议负责解决数据的传输问题,传输层依赖更低层的网络层完成实际数据传输,在 TCP/IP 网络协议中,负责可靠通信的传输层协议为 TCP 协议。而网络层一般由网络驱动来实现,普通程序员不涉及;TCP/IP 协议中,网络层的协议为 IP 协议。
使用 Socket 开发程序时,首先考虑使用的网络类型,主要三方面:
在一个网络地址上,区分使用协议不同,分配一个数字,称为端口号(port)0~65535
在.NET中,System.Net 提供网络编程的大多数数据类型以及常用操作
IPAddress 类表示一个 IP 地址
IPEndPoint 类表示一个 IP 地址和一个端口号的组合,称为网络的端点
System.Net.Sockets 命名空间中提供了基于 Socket 编程的数据类型
Socket 类封装了 Soket 的操作
常用:
Listen: 将 Socket 置于侦听状态,并设置等待队列的长度。
Accept:为新建连接创建新的 Socket。
Receive: 接收来自绑定的 Socket 的数据。
Send: 将数据发送到连接的 Socket。
为了简化基于 TCP 协议的监听程序,.NET 在 System.Net.Sockets 命名空间中提供了 TcpListener 类 ,使用它,在构造函数中传递一组网络端点信息就可以准备好监听参数,而不需要设置使用的网络协议细节,调用 Start方法后,监听开始。AcceptTcpClient 方法阻塞进程,直到一个客户端的连接到达经停气,这个方法返回一个代表客户端连接的代理对象,类型为 TcpClient,可以通过它与客户端进行通信。
为了进一步简化 HTTP 协议的监听器,System.Net 提供 HttpListener 类。提供一系列相关对象封装 HTTP 的处理工作。这个类使用 Http.sys 系统组件完成工作,所以在 Windows XP SP2 或者 Server 2003 以上操作系统才能使用。(废话了,在用 WIN 2000 的在下佩服)
.NET中,程序集管理的最小逻辑单位为应用程序域(AppDomain),对.NET程序来说,可以动态加载程序集到应用程序域中。但是,加载之后的程序集不能单独卸载,只能以应用程序域来整体卸载。应用程序域提供四个重要的机制:
ASP.NET将网站应用程序寄宿在一个独立的应用程序域中,便于管理。虽然可以通过 System.AppDomain 可以创建自定义的应用程序域,但是,ASP.NET 在 System.Web.Hosting 命名空间中定义更加方便的辅助类,以协助程序员创建寄宿 Web 服务器程序所涉及的应用程序域并设置参数。
由于我们的应用程序将与 Web 应用程序运行在不同的应用程序域中,涉及跨域问题。.NET中跨域访问的类必须继承自 System.MarshalByRefObject,这样我们的管理程序将得到一个远程对象的代理对象,通过这个代理对象来访问 Web 应用程序域中的对象。
ApplicationHost 类的静态方法 CreateApplicationHost 可以帮助我们非常简单的创建 Web 应用程序所需要的应用程序域并设置参数。
准备用于处理的请求,必须封装为 HttpWorkerRequest 类型的对象,这是一个抽象类,定义在 System.Web 命名空间中
Public abstract class HttpWorkerRequest
通过这个类的实例,必须提供关于处理请求所需要的信息,以便服务器处理请求。
System.Web.HttpRuntime 类是整个 ASP.NET 服务器处理的入口。
对于每一个请求参数,HttpRuntime 创建一个类型为 HttpReqeuest 对象实例,在System.Web 中。
这个类定义大量属性,表示关于 HTTP 请求参数。这些参数来源于 HttporkereRequest 。
1.HTML
HtmlEncode 编码,HtmlDecode 解码(一般浏览器完成)
2.URL
URL 串只应该出现 ASCII 字符。
UrlEncode 方法用来对URL 串进行编码
3.URL Path
UrlPathEncode 仅仅编码 URL 的 Path 部分
4.UrlToken
UrlTokenEncode 用于在 URL 中以字符串形式传递一个字节数组的时候使用
1.4.5 浏览器类型
在ASP.NET中,以 HttpBrowserCapabilities 类型对象的形式,通过 HttpRequest 提供给开发人员。
Public HttpBrowserCapabilities Browser { get; set; }
标签:win 不同 空间 bin 技术 png 依赖 dead head
原文地址:http://www.cnblogs.com/tangge/p/6533449.html