Request成员:
1.Request.UrlReferrer 获取请求的来源,可以防盗链
Response.Write(Request.Url.ToString());//获取当前请求的URL地址
Response.Write("<hr />");
Response.Write(Request.UrlReferrer.ToString());//获取请求的来源 //防盗链
2.Request.UserHostAddress 获取访问者的IP地址
Response.Write(Request.UserHostAddress.ToString());
3.Request.Cookies[""];//读取Cookies
Response.Cookies[""];//将Cookies写回浏览器
4.Request.MapPath("");将虚拟路径转换为磁盘上的物理路径
Response成员:
响应的缓冲输出:为了提高服务器的性能,ASP.NET向浏览器Write的时候默认并不会
每Write一次都会立即输出到浏览器,而是会缓存数据,到合适的时机或者响应结束才会将
缓冲区中的数据一起发送到浏览器。
1.Response.Buffer; 这个属性用来控制是否采用响应缓冲,默认是true!
Response.BufferOutput; --Buffer内部调用的就是BufferOutput
Response.Buffer = false;//设置了没有响应缓冲区,碰到一次Response.Write就输出一次
Response.Write(Request.Url.ToString());//获取当前请求的URL地址
Response.Write("<hr />");
Response.Write(Request.UrlReferrer.ToString());//获取请求的来源 //防盗链
Response.Write("<hr />");
2.Response.Flush() 将缓冲区中的数据发送给浏览器。这在需要将Write出来的内容立即输出到浏览器的场合非常适用。
Response.Write(Request.Url.ToString());//获取当前请求的URL地址
Response.Write("<hr />");
Response.Flush();//将前两条Response.Write立即向浏览器输出
Response.Write(Request.UrlReferrer.ToString());//获取请求的来源 //防盗链
Response.Write("<hr />");
3.Response.Clear() 清空缓冲区的数据。这样在缓冲区中的没有发送到浏览器端的数据被清空,不会被发送到浏览器。
Response.Write(Request.Url.ToString());//获取当前请求的URL地址
Response.Write("<hr />");
Response.Clear();//清空缓冲区的数据,将上面两条Response.write清除!
Response.Write(Request.UrlReferrer.ToString());//获取请求的来源 //防盗链
Response.Write("<hr />");
4.Response.ContentEncoding 输出流的编码
5.Response.ContentType 输出流的内容类型
6.Response.Cookies 返回给浏览器的Cookie的集合,可以通过它设置Cookie
7.Response.OutputStream 输出流,在输出图片,excel文件等非文本内容的时候要使用它
8.Response.End() 终止响应,将之前缓存中的数据发给浏览器,End()之后的代码不会被继续执行,End方法里调用了Flush()方法。
在终止一些非法请求的时候,比如盗链等可以用End()立即终止请求
Response.Write(Request.Url.ToString());//获取当前请求的URL地址
Response.Write("<hr />");
Response.End();//后面的代码不会被执行
Response.Write(Request.UrlReferrer.ToString());//获取请求的来源 //防盗链
Response.Write("<hr />");
9.Response.Redirect() 重定向浏览器到新的网址。(即可以重定向到站外网址也可以重定向到站内地址)。Redirect是向浏览器发回302重定向(还有一个Location告诉浏览器要重定向到哪个页面),是通知浏览器“请重新访问url这个网址”,这个过程经历了服务器通知浏览器“请重新访问url这个网址”和浏览器接到命令访问新网址的过程。
10.Response.SetCookie(HttpCookie cookie) 向输出流中更新写到浏览器中的Cookie,如果Cookie存在就更新,不存在就增加。
11.Response.Write() 向浏览器输出内容。
Server对象
Server属性是HttpServerUtility的一个实例,它提供对服务器上的方法和属性的访问
1.Server.MapPath 取得文件的物理路径
2.Server.Execute(); Server.Transfer() 执行另一个页面的脚本
Server.Execute()类似于iframe(iframe不利于SEO优化,因为蜘蛛爬虫不识别iframe,考虑SEO优化,使用Server.Execute!)
Server.Transfer() 服务端的跳转
**白帽SEO......黑帽SEO......
**注释的优化,采用服务端的注释,html的注释会被传输~~~
3.Server.HtmlDecode();Server.HtmlEncode(); 将稳步编码成可以在浏览器中可正确浏览的合适
Server.HtmlEncode():
<%=Server.HtmlEncode("<a href='#'>111</a>") %>
<a href='#'>111</a>
Server.HtmlDecode():
<%=Server.HtmlDecode("<a href='#'>111</a>") %>
页面显示一个111的超链接
4.Server.UrlDecode;Server.UrlEncode Url编码和解码
*** 通过Url地址传参如果出现乱码问题,先用 Server.UrlEncode编码一下,然后接受参数的时候再 Server.UrlDecode解码~~