ASP.NET基础学习未整理随笔
利用新建网站添加的项目可以改完代码直接刷新就行
提交到服务程序的表单一定要具有name。
<input type="hidden"value="true"name="ispostback"/>
先是要求服务器读取我的请求,然后再相应
提交是将内容发给服务器
请求响应
然后进行返回值的处理
string content=content.request["name"];
context.response.write(content);
如果直接用文件地址进行访问,就是直接进入
如果利用提交表单进行提交,就是提交进入
主要看url返回值
<form>的Method方法post 和get的区别
get和post的区别:get是通过Url传递表单值,post通过url看不到表单域的值
get传递的数据量是有限的。如果要大量传数据不能用get
比如type="file"和type="password"的传递还有<textarea>发表大篇文章,
post则没有这限制;post会有浏览器提示重新提交表单的问题,get则没有
get方法url数据格式,服务端文件名后跟着“?”。
由于客户端可能像服务器端提交多个键值对,每个键值对之间用&分割
如果url中有汉字或者特殊符号,则需要对url进行编码
表单域只有只有设定了name的才会被提交给服务器,
如果给submit按钮设定了name,那么按钮的value也会被提交给服务器
viewstate是用来保存无name和value属性的控件的键值
像div还有label等需要用viewstate
http协议是无状态的,不会记得上次和网页发生了什么
服务器不记得上次给了浏览器什么,
浏览器需要记住这些值(input就是记到value中,对于其他的值就要放到隐藏字段中
比如viewstate)下次在提交给服务器的时候需要提交上次的值
禁用了viewstate就读不到上次给客户端的值了
写入里面值不受影响
禁用viewstate在请求没有结束之前,也能读出来设置的值
将状态信息保存在隐藏字段中:加大了网站的流量,降低了访问速度。
密数据放到表单中会有数据欺骗等安全性问题(关键性的问题)。
机密数据放到服务器之中。
要把机密数据放到服务器并且区分不同的访问者的私密区域(id)
cookie是放到浏览器中的。
//cookie不能存放过多的信息
互联网优化的案例:图片服务器和主站域名不一样,降低cookie流量的传输
cookie内部信息同样不安全
cookie可以帮助把机密信息保存在服务器中
不要放太多的对象到Session、session会有超时销毁的机制
(服务器不可能知道浏览器什么时候关闭什么时候开着)
session不是http协议规定的,是ASP.NET实现的,现在php,
Jsp等大部分服务端技术都实现了session,原理差不多
cookie不能存储过多的信息,如果想保存大量的数据,可以保存
一个guid到cookie中,然后在服务器中建立一个以guid为key
复杂数据为value全局dictionary.static字段对于不同的用户也只有一份。
因此static能够实现数据的共享
http协议只有请求才会响应
session是保存在服务器端是object对象
cookie是放到客户端是string对象
http协议的几个概念
1.请求connection;浏览器和服务器之间传输数据的通道。
一般请求完毕就关闭不会保持连接。
2.request 浏览器向服务器发送的“我要----消息”,包含
请求的类型,请求的数据,浏览器拿的信息(语言,浏览版本等)
3.response 得到数据后在浏览器端响应结果(正确结果或者错误代号)
200:successfull成功处理
301:Moved permanently 永久转移
301:found 暂时转移
307:Temporary Redirect
400:BAD Request 错误请求
401: Unauthorized 未认证
403:Forbidden被禁止
404:not found找不到数据,错误
500:Internal Server Error服务器内部错误
503:Service Unavailable 一般是访问人数过多
Server:Cassini/3.5.0.5 表示服务器的类型
Content-Type:内容类型
http是无状态的,每次请求数据都必须将报文重新提交
页面中的图片,js,css都在单独请求中
一般情况下,只有浏览器请求服务器端,服务器端才有给浏览器
响应数据,不会主动向浏览器推送数据,这样是安全考虑,也是提高服务器
性能的考虑。如果要求服务器主动向浏览器传送数据应当使用serverpush等技术
submit是表单请求:是postBACK
超链接请求时不受post和get控制的:不是postback
超链没有向服务器提交viewstate等隐藏字段的内容
web开发原则
*最小权限原则:只允许用作---,而不是“不允许用户做--”
*浏览器查看的是服务端代码执行输出的文本,除非服务器有漏洞,
否则浏览者无法查看服务端的aspx,cs代码,目标另存为也是保存的aspx
的执行效果,看不到aspx的源代码
!----------
按钮确认按钮: return confirm("您真的要做--?");(在onclientclick事件中)
返回true就执行相应的功能
返回false就不执行相应的功能
XSS漏洞处理
ValidateRequest="false"可以彻底禁止发html代码
但是在某些需求中,这样不行。因为有的网站就是要求能够上传html代码
HttpUtility.HtmlEncode可以将html代码转成普通字符的形式
ASP.NET基础学习未整理随笔的更多相关文章
- 【Linux】鸟哥的Linux私房菜基础学习篇整理(二)
1. dumpe2fs [-bh] devicename:查询superblock信息.参数:-b:列出保留为坏道的部分:-h:列出superblock的数据,不会列出其他的区段内容. 2. df [ ...
- asp.net基础学习笔记
原文地址:http://blog.csdn.net/oxoxzhu/article/details/8652530 1.概论 浏览器-服务器 B/S 浏览的 浏览器和服务器之间的交互,形成上 ...
- 【Linux】鸟哥的Linux私房菜基础学习篇整理(十)
1. at [-mldv] TIME/at -c 工作号码:单一工作调度.参数:-m:当at的工作完成后,即使没有输出信息,以email通知用户该工作已完成:-l:相当于atq,列出目前系统上面的所有 ...
- 【Linux】鸟哥的Linux私房菜基础学习篇整理(六)
1. 正则表达式特殊符号.[:alnum:]:代表英文大小写字符及数字:[:alpha:]:代表英文大小写字符:[:blank:]:代表空格键与[Tab]键:[:cntrl:]:代表键盘上的控制键,即 ...
- WPF基础学习笔记整理 (九) 资源
基础知识: WPF的资源是一种保管一系列有用对象的简单方法,方便于重用. WPF UI元素的Resources属性,都是继承自FrameworkElement列,且其类型为ResourceDictio ...
- WPF基础学习笔记整理 (八) 命令
基础知识: 命令是应用程序的任务,并跟踪任务是否能够被执行. 命令不包含执行应用程序任务的代码. 命令是比事件更高级的元素.默认的命令目标是当前获得焦点的元素. 良好的Win应用程序,应用程序逻辑不应 ...
- WPF基础学习笔记整理 (七) Binding绑定
基础知识: 数据绑定是一种关系,该关系告诉WPF从源对象提取一些信息,并用这些信息设置目标对象的属性:目标对象始终是依赖属性,而源对象则可以是任何内容. BindingOperations类,提供静态 ...
- WPF基础学习笔记整理 (六) RoutedEvent路由事件
基础知识: 传统的事件模型中,会在消息触发时将消息通过事件传给事件的订阅者(显式的事件订阅),事件订阅者使用事件处理程序来做出响应.事件订阅者必须能够直接访问到事件的宿主(拥有者). 路由事件的事件的 ...
- WPF基础学习笔记整理 (五) DependencyObject & DependencyProperty
参考资料: 1.http://www.cnblogs.com/Zhouyongh/archive/2009/10/20/1586278.html 基础知识: DependencyObject & ...
随机推荐
- CSP201503-2:数字排序
引言:CSP(http://www.cspro.org/lead/application/ccf/login.jsp)是由中国计算机学会(CCF)发起的"计算机职业资格认证"考试, ...
- @Configuration和@Bean
@Configuration可理解为用spring的时候xml里面的标签 @Bean可理解为用spring的时候xml里面的标签 Spring Boot不是spring的加强版,所以@Configur ...
- anaconda安装scrapy报错解决办法
今天在用anaconda安装scrapy的时候遇见个坑,现在将解决办法发出来,供大家参考使用: 问题描述: anaconda安装scrapy,使用 conda install scrapy 命令.安装 ...
- Python3 深浅拷贝
一 定义 在Python中对象的赋值其实就是对象的引用.当创建一个对象,把它赋值给另一个变量的时候,python并没有拷贝这个对象,只是拷贝了这个对象的引用而已. 浅拷贝: 浅拷贝值只拷贝一层,具有自 ...
- Java微笔记(4)
Java 中的内部类 内部类( Inner Class )就是定义在另外一个类里面的类.与之对应,包含内部类的类被称为外部类 内部类的主要作用如下: 内部类提供了更好的封装,可以把内部类隐藏在外部类之 ...
- 一个demo让你彻底理解Android中触摸事件的分发
注:本文涉及的demo的地址:https://github.com/absfree/TouchDispatch 1. 触摸动作及事件序列 (1)触摸事件的动作 触摸动作一共有三种:ACTION_DOW ...
- Alpha-1
前言 失心疯病源1 团队代码管理github 站立会议 队名:PMS 530雨勤(组长) 今天完成了那些任务 10:00~13:00 OpenCV环境配置,Matlab工具包下载 15:40~17:1 ...
- xpath教程一---简单的标签搜索
工具 Python3版本 lxml库[优点是解析快] HTML代码块[从网络中获取或者自己杜撰一个] requests[推荐安装,从网页上获取网页代码练手,再好不过了] 讲解 网页代码都是成对的标签, ...
- PHP查询网站
1.w3school http://www.w3school.com.cn/php/ 2.PHP官网 http://php.net/manual/en/funcref.php 3.国内的类似w3csh ...
- c++:error2019,无法解析的外部命令blabla~
出现这个原因的问题汇总: 1,相应的附加库没有包含进去,注意附加库的目录是 / 2,函数没有与之对应的类,却在main中以某一类的对象调用了该方法. 其实,当错误中显示fun()成为无法解析的外部命令 ...