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的说明已经很多也 ...
随机推荐
- arcgis python desc.dataType
desc = arcpy.Describe(r"C:\Users\dell\Documents\ArcGIS\ddd.shp") 是ShapeFile desc = arcpy.D ...
- mysql数据库引擎——MyISAM,InnoDB
作为一个java web开发人员,对于mysql数据库掌握到具体比较这两类引擎的差异也蛮拼的,下面就介绍一下我在工作中积累的对这两类引擎的理解. MyISAM: 如果不更改mysql配置文件(my.i ...
- Android 关于 CountDownTimer onTick() 倒计时不准确问题源码分析
一.问题 CountDownTimer 使用比较简单,设置 5 秒的倒计时,间隔为 1 秒. final String TAG = "CountDownTimer"; * , ) ...
- DB2 SQL 错误(SQLCODE:-964,SQLSTATE:57011)处理方法
故障现象描述: 执行 SQL 语句时,出现类似如下错误消息. 指令 SQL:insert into t_stat_file_temp SQLSTATE:57011,供应商错误代码:-964 DB2 S ...
- Google Protocol Buffers 快速入门(带生成C#源码的方法)
Google Protocol Buffers是google出品的一个协议生成工具,特点就是跨平台,效率高,速度快,对我们自己的程序定义和使用私有协议很有帮助. Protocol Buffers入门: ...
- openstack部署cinder
controller 一.创建cinder数据库并设置权限 mysql -u root -p CREATE DATABASE cinder; GRANT ALL PRIVILEGES ON ...
- 在DELPHI中动态创建控件以及控件的事件
在DELPHI中我们经常要动态的创建控件以及控件的事件.例如,我们可能想根据程序需要动态的创建一些Tshape组件来创建某个图形,并使得在鼠标移动上去之后可以完成某些操作.这一般需要需要三步: 生成一 ...
- 数组中存放model去重
在这个项目中出现"添加model数据"数组重复的情况,这就涉及到数组去重的问题了...... 1. 一开始使用的最笨的方法: 依次循环两个数组(原有的数组,选择的数组),双重for ...
- Cell中实现多图展示
实现的效果如下: 主要实现代码如下: // // DetailCell.m // Floral // // Created by 思 彭 on 16/9/21. // Copyright © 2016 ...
- Swift3.0封装 AFN 的 GET&POST网络请求
// // PSNetWorkManage.swift // WeiBoSwift // // Created by 思 彭 on 16/9/25. // Copyright © 2016年 思 彭. ...