在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
申明:本文是学习2014版ASP.Net视频教程的学习笔记,仅供本人复习之用,也没有发布到博客园首页。 (1)表单提交注意点: ①GET通过URL,POST通过报文体; ②需在HTML中为表单元素设置name; ③元素id是给Dom用的,name才是提交给服务器用的; (2)请求处理响应模型: ①浏览器发出访问请求→②服务器处理访问请求并返回HTML→③浏览器解析HTML并显示页面 (3)GET与POST的区别:(★★★→重点) ①GET通过URL传值,而POST通过HTTP报文; ②GET传递的数据量有限,POST则没有限制; ③POST方式无法通过URL在其他用户中还原; ④GET方式URL传特殊字符需要事先进行编码; (4)HTTP协议基本理解: ①连接(Connection):HTTP不保持连接(请求完成就关闭),如果保持连接会降低客户端并发处理请求数,不保持连接会降低处理速度(建立连接速度很慢); ②请求(Request):包含请求类型、请求的数据以及客户端信息等; ③响应(Response):包含具体HTML、响应是否成功以及错误码等; 二、模板引擎开发基础(1)传统模式的缺点: ①没有实现界面和逻辑的分离,美工无法介入; ②占位符替换不够灵活,无法进行复杂的替换; (2)NVelocity模板引擎: ①基本用法:编写模板→提供数据→渲染生成HTML ②扩展用法:include与parse的区别? →#include("head.htm")代表模板嵌套子模板;#parse("foot.htm")代表模板嵌套子模板,子模板可继承父模板中的参数; ③注意之处: NVelocity解析JQuery代码$.ajax中的$时把$当做NVelocity中的特殊符号,应对方法是使用jQuery.ajax代替$.ajax; 如果要将DataTable传递给NVelocity时仅传递DataTable.Rows即可,因为Rows才是一个Collection(集合),可以使用foreach遍历; 为了减少每次NVelocity解析模板的时间建议启用NVelocity缓存; 三、状态的传递与保持(1)经典的URL传递: ①优点:简单直接,明确发给谁,数据不会乱; ②缺点:无法保密,安全性不高 (2)隐藏字段传递: ①会加大网站流量; ②会降低访问速度,想想ViewState; ③机密数据无法保证安全性; (3)Cookie:(★★★★→重点) ①基本概念:保存在浏览器端,每次向服务器提交请求时都会带上Cookie;服务器返回报文除了Html外还有更新后的Cookie; ②生命周期:如果没有设定Expires过期时间,那么关闭浏览器则终止Cookie;如果设定了Expires过期时间,则以过期时间为准作为失效时间; ③缺点限制:存储数据量有限,机密信息不能存在Cookie中;无法跨越不同的浏览器,例如:IE、Chorme、Firefox等;可以被清除,不要将不能丢失的数据存到Cookie; (4)Session:(★★★★→重点) ①基本概念:服务器端的“Cookie”,类似于病历本; ②生命周期:Session具有自动销毁机制; ③使用注意:HttpHandler要使用Session需实现IRequiresSessionState接口;存放在服务器内存中,不要存放大数据; ④与Cookie的关系:Session在创建时会依赖于Cookie,实质是Cookie存储一个SessionID作为每次提交服务器请求访问的Key,Session通过这个Key找到具体的Value值; (5)Application: ①基本概念:应用全局对象,被全局共享;使用操作之前先加Lock,完成之后UnLock;一般放在Global.asax中的Application_Start事件中; ②使用注意:很多书举例使用Application统计访问人数会导致网站在大并发量下会很十分卡;建议做网站开发尽量不用Application,也很少需要有用到它的时候;
四、AJAX基础
(1)AJAX产生原因: ①传统全局刷新导致用户体验不好; ②IE5中首次引入了XMLHttpRequest; (2)AJAX基本概念: ①AJAX全称:AsynchronousJavascriptAndXML=异步的JavaScript和XML,一种进行页面局部刷新的技术; ②AJAX通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新,从而改善用户体验效果; (3)AJAX基本流程:
①浏览器HTML中使用JavaScript创建XMLHttpRequest → ②服务器端获取请求进行处理并返回符合AJAX风格的数据(例如Json) → ③浏览器JavaScript解析服务器返回的数据并局部显示或更改信息 (4)AJAX核心对象:JavaScript对象XMLHttpRequest XmlHttpRequest使我们可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。
(5)AJAX优点缺点: ①优点:页面无刷新,在页面内与服务器通信,给用户的体验非常好;“按需取数据”,可以最大程度的减少冗余请求和响应对服务器造成的负担;基于XML标准化,并被浏览器广泛支持,不需安装插件等; ②缺点:由于AJAX只是局部刷新,所以页面的后退按钮是没有用的(破坏了后退按钮机制);对流媒体还有移动设备的支持不是太好; 五、客户端不可信(1)客户端验证不能代替服务端验证: ①客户端校验是为了更好的客户端体验,服务端校验是最后一次把关,防止恶意请求; ②请求报文数据可以修改,例如Http报文中的UserAgent、Referer、Cookie等都是可以造假的; ③JQuery Validator+服务端校验是不错的开发方式; (2)ValidateRequest: ①ASP.Net默认对请求数据进行了校验->防止XSS攻击(跨站脚本攻击) ②对于要提交含HTML的文本内容需要关闭校验,在web.config中设置requestValidationMode="2.0" <system.web> <compilation debug="true" targetFramework="4.0" /> <httpRuntime requestValidationMode="2.0" /> </system.web> 利用关闭校验的漏洞可以进行:送奖品的消息框、收集账号和密码; (3)CKEditor:经典的Web在线编辑器
①除了_samples、_source、*.php、*.asp都放到js/ckeditor文件夹下; ②页面中引用ckeditor.js; ③页面编辑器的位置使用textarea,在页面onload中或textarea之后使用CKEDITOR.replace(textarea); 总结思维导图
|
请发表评论