基础
两大服务器:
-
IIS
Interne Information Server,微软开发的,运行在微软系统上
-
Apache
开源软件,有Windows和Linux版本
(PS:web服务器默认的是80端口)
为什么有的网页第一次打开会比较慢,而有的网页每次打开都很慢?(asp.net和asp还有php 的区别)
asp.net 页面在第一次请求的时 候会被编译成dll文件,由JIT编译执行,因而aspx页面第一次被打开的时候比较慢,而 以后执行的时候就会比较快,因为以后执行的时候除非修改了代码否则就没有必要重新 生.dll文件了;而asp和php网页每次运行的时候都会被解释执行,因而asp.net网站的 运行速度要快。
对象
Web的核心是Web服务器,用来处理客户端请求
由于HTTP是一种无状态的协议,就是它不会记录上次请求的对象,也不会主动去询问客户端,只有客户端主动请求了吗,服务器才会响应(从来不主动)。
Session
关键字:
1. 保存与特定用户相关的信息
2. 数据保存在服务器端,它可以保存任意类型的数据
3. session默认的生命周期是20分钟,可以手动设置更长或是更短的时间
(ps:为什么session会有生命周期呢?
那是因为客户端创建的session,服务器端是不知情的,服务器不知道你什么时候不使用session,为了能够及时合理的释放空间,所以在session创建的时候,就设定了它的生命周期,如果在session 的声明周期之内,客户端没有任何请求,那么 session就会自动销毁 ;如果有请求,就在请求的时间基础上在此加上生命周期!)
代码示例:
string username=(string)Session["UserName"]; //声明一个session为cardID(由此我们也可以看出Session为object类)
string cardID; //生命一个cardID
if(Session["CardID"]!=null) //如果session里的cardID为空,再次声明一次
{
userName=(string)Session["CardID"]; //当指定名称的Session存在时,获取指定Session的值
}
Cookie
它和session很相似,用来保存特定用户的相关数据,它们最主要的区别的就是:Cookie是保存在客户端而不是服务器上。所以客户端每次发出请求都会把Cookie一起发送到服务器中,服务器响应的时候,也会把Cookie传回来。
特点:
1. 它只能存放字符串类型的数据(其他类型,转换之后再保存)
2. 它也有默认的生命周期,可以手动设置,最大到50年之后
代码示例:
HttpCookie cookie = new HttpCookie("cardID", "1001"); //声明一个cookie
Response.Cookies.Add(cookie); //上传的服务器
string cardID; //定义个字符串cardID
if (Request.Cookies["UserName"] != null) //判断是否为空
{
cardID = Request.Cookies["cardID"].Value; //为空再次获取
}
Request
它封装了客户端的请求信息
属性:
属性名 | 值类型 | 说明 |
ApplicationPath | String | 获取请求的资源在网站上的根路径 |
ContentEnconding | Enconding | 设置请求对象的编码 |
Cookies | HTTPCookieCollection | 客户端发送到服务器的Cookie集合 |
QueryString | NameValueCollection | 当前请求的查询字符串集合 |
UrlReferrer | Uri | 获取用户由哪个url跳转到当前界面 |
Response
代表了服务器的响应对象
每个请求都会对应一个响应对象处理请求,处理完请求之后,响应对象就会被销毁。
属性:
属性名 | 值类型 | 说明 |
Charset | string | 表示输出流的所使用的字符集 |
ContentEncoding | Encoding | 设置输出流的编码 |
ContentLength | Int | 输出流的字节大小 |
ContenType | string | 输出流的HTTP MIME类型 |
Cokkies | HttpCookieCollection | 服务器发送到客户端的Cookie集合 |
Output | TextWriter | 服务器响应对象的字符输出流 |
RedirectLocation | string | 将当前请求重定向 |
方法:
方法名 | 返回值类型 | 说明 |
AppendCookie | void | 对响应对象的Cookie集合中添加一个Cookie |
Clear | void | 清空缓冲区中的所有内容输出 |
Close | void | 关闭当前服务器到客户端的连接 |
End | void | 终止响应,并且将缓冲区中的输出发送到客户端 |
Redirect | void | 重定向当前请求 |
简做总结,深入思考,受益匪浅!
谢谢的大家阅读观看!