什么是Web窗体?Web窗体有什么用?Web窗体可以使用 Web 窗体页来创建可编程的Web 页,这些 Web 页用作 Web 应用程序的用户界面。Web 窗体页在任何浏览器或客户端设备中向用户提供信息,并使用服务器端代码来实现应用程序逻辑。Web 窗体页输出几乎可以包含任何支持 HTTP 的语言(包括标准通用标记语言的子集HTML与XML、WML 和ECMAScript (JScript, JavaScript))。
一.Web窗体简介
1. 页面的生命周期。
2. WebForm后台页面类继承于Page类,Page类实现了IHttpHandler接口。
3. 前台页面类继承于后台页面类。
4. 先调用PageLoad方法,再调用Render方法生成html代码。
二. 加密安全
互联网没有绝对的安全,登录框内输入用户名和密码,在请求报文里面都能看到,为避免这种情况发生,提高安全性能,可以用两种方式来处理:
1. HTTPS协议(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。
2. 自己写安全插件,例如,支付宝安全控件。
三. Request的一些成员
1. 防止图片盗链:可通过Request.UrlReffer,可通过此属性的值获取图片请求页面的地址,判断地址是否为本服务器的页面,如果不是,则判断为图片盗链处理,对于处理图片盗链,可以加水印或者替换成自己网站的宣传广告图片。
2. Request.UserHostAddress获取访问者的IP地址,通过socket获得。
四. Response的一些成员
1. Response.BufferOutPut,关闭缓冲区。
2. Response.Flush,一次性把缓冲区的内容释放出来。
3. Response.Clear,清空缓冲区。
4. Response.ContentEncoding输出流的编码。
5. Response.ContentType,输出流的内容类型,比如是,html(text/html)还是普通文本(text/plain),还是jpg图片(image/JPEG)。
6. Response.OutputStream,输出流,在输出图片、Excel文件等非文本内容的时候用到它。
7. Response.End,终止响应。End()之后的代码不会被继续执行,End方法里调用了Flush()方法。在终止一些非法请求的时候,比如盗链等可以用End()立即终止请求。
五. Server属性
1. MapPath,取得文件的物理路径。
2. Execute(服务器端包含)和Transfer,执行另一个页面的脚本。
(1)Execute(服务器端包含)可以用来处理页面分块,填补重复出现的内容,比如页脚。
(2)Transfer(服务器端跳转)后的代码都不再运行,内部也用到了Response.End。
3. HtmlEncode和HtmlDecode,将文本编码成可以在浏览器中正确浏览的格式。
4. UrlEncode和UrlDecode,URL编码和解码。
六. 状态保持方案
无状态Http和有状态Http
客户端:
(1)ViewState,隐藏域(存于表单里)。
(2)Hidden Field,隐藏域。
(3)Cookies,浏览器缓存。
(4)ControlState,隐藏域。
(5)Querystring,url。
服务器端:
(1)Session,单用户会话。
(2)Application Object,多用户会话。
(3)Caching,多用户会话。
(4)DB,数据库。
七.Cookie
1. 两种存储方式:缓存Cookie(浏览器缓存,存在于内存)和硬盘Cookie(存在于硬盘),给Cookie加失效时间Cookie会存在于硬盘中,没有加失效时间则会存在于浏览器缓存。
2. 当浏览器再次访问这个站点的时候,浏览器会自动发送Cookie给服务器。
3. 同一个网站可以发送多个Cookie,当服务器向浏览器发送的响应报文中,包含多个Cookie的话,那么浏览器创建的Cookie文件中就用*分割多个Cookie内容。
4. 可以指定Cookie发送的路径(当访问网站的某个文件夹的时候才会发送)。
5. 浏览器不能发送Cookie的失效时间。
6. Cookie的两个属性:
(1)Cookie.Path(为指定文件夹生成Cookie)
(2)Cookie.Domain(域/域名)
7. Coolie的退出
再写一个同名的Cookie,失效时间写成已失效则可以进行覆盖。
8. cookie.value,取出cookie的值。
综上所述,是黑马web培训有关Web窗体知识小结,如何应用并运用Web窗体,需要我们在不断的实践中总结应用。有什么不懂的地方也可以随时咨询我们哦!