asp.net 8 Request,Response,Server
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解码~~
asp.net 8 Request,Response,Server的更多相关文章
- ASP.NET之Request和Response对象
经过了牛腩新闻公布系统和html的学习对B/S开发的流程有了些理解.前面尽管用到了非常多知识.但对制作网页仅仅能说知其然.当学到asp.net视频中的解说才干够说開始知其所以然了. 今天来说说clie ...
- Server,Servlet,ServletConfig,ServletContext,Session,Request,Response
Server流程 解析URL->找到应用->找到Servlet->实例化Servlet->调用init->调用service->返回响应->调用destroy ...
- response.sendRedirect(url)与request.getRequestDispatcher(url).forward(request,response)的区别
response.sendRedirect(url)跳转到指定的URL地址,产生一个新的request,所以要传递参数只有在url后加参数,如: url?id=1.request.getRequest ...
- ASP入门(十三)-Server对象
Server 对象用于处理服务器上的一些特殊任务,例如,创建组件实例.获取文件路径.执行ASP脚本文件等. Server 对象是体现 ASP 强大功能的一个对象,之前介绍的对象都是针对获取.请求以及简 ...
- ASP调用存储过程访问SQL Server
ASP调用存储过程访问SQL Server 2011-02-15 10:22:57 标签:asp 数据库 sQL 存储过程 Server ASP和存储过程(Stored Procedures)的文章 ...
- track message forwards, avoiding request loops, and identifying the protocol capabilities of all senders along the request/response chain
https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html The TRACE method is used to invoke a remote, ...
- ZeroMQ之Request/Response (Java)
自己最开始是在cloud foundry中接触过消息服务器(nats),或者说是消息中间件,也算是初步知道了一个消息服务器对于分布式的网络系统的重要性,后来自己也曾想过在一些项目中使用它,尤其是在一些 ...
- ASP.NET中的Response
Response.BufferOutput=true.false 是否设置缓存 Response.Write("") 输出字符串 Response.IsClientConne ...
- Asp.net中Request.Url的各个属性对应的意义介绍
Asp.net中Request.Url的各个属性对应的意义介绍 本文转载自 http://www.jb51.net/article/30254.htm 网络上关于Request.Url的说明已经很多也 ...
随机推荐
- 4 LinkedList
1 LinkedList public class LinkedList<E> extends AbstractSequentialList<E> implements Lis ...
- 用Python写一个将Python2代码转换成Python3代码的批处理工具
之前写过一篇如何在windows操作系统上给.py文件添加一个快速处理的右键功能的文章:<一键将Python2代码自动转化为Python3>,作用就是为了将Python2的文件升级转换成P ...
- Flutter移动电商实战 --(11)首页_屏幕适配方案和制作
1.flutter_ScreenUtil插件简介 flutter_ScreenUtil屏幕适配方案,让你的UI在不同尺寸的屏幕上都能显示合理的布局. 插件会让你先设置一个UI稿的尺寸,他会根据这个尺寸 ...
- js对象和jQuery对象的区别
(1)js对象的三种基本定位方式 (A)通过ID属性:document.getElementById() (B)通过NAME属性:document.getElementsByName() (C)通过标 ...
- Android之SharedPreference存储数据
*路径: /data/data/包名/shared_prefs/ * 以Xml文件存储数据 * 编写步骤 // 1. 获取sp SharedPreferences sp = this.getShare ...
- solr 初接触
solr教程,值得刚接触搜索开发人员一看 http://blog.csdn.net/awj3584/article/details/16963525
- 一百零四:CMS系统之修改邮箱界面
在base.css中加一个全局的css控制宽度 .form-container{ width: 300px;} 视图 class ResetEmailView(views.MethodView): d ...
- 单元测试unittest及报告生成(两种报告模板)
Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 在说unittest之前,先说几个概念: TestC ...
- mysql 如何给大表添加字段
1. 能不加字段就不要加, 能不修改字段就不要修改, 能不删除字段就不要删除, 等等为什么要删除字段呢? 如果没事,不要蛋疼的找事. 实际上,我们那次更新失败后, 我们并没有增加那个字段, 然后我们一 ...
- 阿里云Centos7挂载数据盘
查看磁盘情况 fdisk -l fdisk /dev/vdb 根据提示,分别输入 n. p. . enter.enter.wq fdisk -l mkfs.ext3 /dev/vdb1 挂载磁盘,写入 ...