TCP和UDP的区别:
TCP可靠, UDP不可靠
TCP性能低,UDP性能高
TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。发之前要求建立连接,俗称三次握手。
UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。(发送前不要求建立连接,
如ping命令就是UDP)
HTTP的get和post区别
GET 方法提交数据不安全,没有body部分的,如果要传递给服务器信息,都在URL中,客户端地址栏可见;GET 方法提交的数据大小限制在255 个字符之内
POST 方法提交数据安全,数据置于消息主体内,客户端不可见,POST方法提交的数据大小没有限制
jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、
events、 它是轻量级的js库(压缩后只有21k) ,还兼容各种浏览器 (IE 6.0+, FF 1.5+,
Safari 2.0+, Opera 9.0+)。
Override和Overhide的区别:
Override是虚函数在子类的实现,是多态。 Overhide是函数名相同,但是具有不通的参数,
包括参数个数,类型,顺序。
服务器端控件生命周期:服务器控件生命周期所要经历的11个阶段。
阶段 | 控件需要执行的操作 | 要重写的方法或事件 |
初始化 | 初始化在传入 Web请求生命周期内所需的设置。 | Init事件(OnInit方法) |
加载视图状态 | 在此阶段结束时,就会自动填充控件的 ViewState属性,控件可以重写 LoadViewState方法的默认实现,以自定义状态还原。 | LoadViewState方法 |
处理回发数据 | 处理传入窗体数据,并相应地更新属性。 | LoadPostData方法(如果已实现 IPostBackDataHandler) |
加载 | 执行所有请求共有的操作,如设置数据库查询。此时,树中的服务器控件已创建并初始化、状态已还原并且窗体控件反映了客户端的数据。 | Load事件(OnLoad方法) |
发送回发更改通知 | 引发更改事件以响应当前和以前回发之间的状态更改。 | RaisePostDataChangedEvent方法(如果已实现 IPostBackDataHandler) |
处理回发事件 | 处理引起回发的客户端事件,并在服务器上引发相应的事件。 | RaisePostBackEvent方法(如果已实现 IPostBackEventHandler) |
预呈现 | 在呈现输出之前执行任何更新。可以保存在预呈现阶段对控件状态所做的更改,而在呈现阶段所对的更改则会丢失。 | PreRender事件(OnPreRender方法) |
保存状态 | 在此阶段后,自动将控件的 ViewState属性保持到字符串对象中。此字符串对象被发送到客户端并作为隐藏变量发送回来。为了提高效率,控件可以重写 SaveViewState方法以修改 ViewState属性。 | SaveViewState方法 |
呈现 | 生成呈现给客户端的输出。 | Render方法 |
处置 | 执行销毁控件前的所有最终清理操作。在此阶段必须释放对昂贵资源的引用,如数据库链接。 | Dispose方法 |
卸载 | 执行销毁控件前的所有最终清理操作。控件作者通常在 Dispose中执行清除,而不处理此事件。 | UnLoad事件(On UnLoad方法) |
asp.net 应用程序生命周期:
用户请求==》IIS监听到请求==》根据请求文件的扩展名确定ISAPI扩展==》将请求传递个ISAPI扩展(对asp.net来说,扩展就是aspnet_isapi.dll)==>启动ApplicationManager 的类会创建一个应用程序域=》创建宿主环境==》ASP.NET 将创建并初始化核心对象,如 HttpContext、HttpRequest 和 HttpResponse。HttpContext类包含特定于当前应用程序请求的对象,如 HttpRequest 和 HttpResponse 对象。HttpRequest对象包含有关当前请求的信息,包括 Cookie 和浏览器信息。HttpResponse 对象包含发送到客户端的响应,包括所有呈现的输出和 Cookie。==》根据Global.asax创建HttpApplication ==>执行Application事件
ASP.NET状态管理
存储位置 | 类型 限制 | 大小 限制 | 适用 对象 | 使用 范围 | 过期 策略 | 安全性 | |
Cookie | 客户端Cookie文件夹 | 字符串 | 每个4K | 单个用户 | 当前请求 上下文 | 绝对时 间过期 | 低 |
Session-InProc | 客户端Cookie和Web服务器内存 | 任何 类型 | 受内存 限制 | 单个用户 | 当前请求 上下文 | 平滑时 间过期 | 比较高 |
Session-StateServer | 客户端Cookie和 Windows服务所在服务器内存 | 可序列 化类型 | 受内存 限制 | 单个用户 | 当前请求 上下文 | 平滑时 间过期 | 比较高 |
Session-SqlServer | 客户端Cookie和SQL Server服务器硬盘 | 可序列 化类型 | 受数据 库限制 | 单个用户 | 当前请求 上下文 | 平滑时 间过期 | 比较高 |
Application | Web服务器内存 | 任何 类型 | 受内存 限制 | 所有用户 | 当前请求 上下文 | 应用程 序结束 则无效 | 高 |
Cache | Web服务器内存 | 任何 类型 | 受内存 限制 | 所有用户 | 当前请求 上下文 | 平滑时间 过期、绝 对时间过 期、依赖 过期 | 高 |
ViewState | 页面隐藏域 | 可序列 化类型 | 受表单 提交大 小限制 | 单个用户 | 当前页面 | 页面关 闭则无 效 | 比较低 |
Profile | 客户端Cookie和数据库 | 可序列 化类型 | 受数据 库限制 | 单个用户 | 当前请求 上下文 | Cookie 过期时 间或者长 期存在 | 比较高 |
Querystring | 页面URL | 字符串 | 不超过 2K | 单个用户 | 当前页面 | 页面关闭 则无效 | 低 |
Session解释
Session对于每一个客户端(或者说浏览器实例)是“人手一份”,用户首次与Web服务器建立连接的时候,服务器会给用户分发一个 SessionID作为标识。SessionID是一个由24个字符组成的随机字符串。用户每次提交页面,浏览器都会把这个SessionID包含在 HTTP头中提交给Web服务器,这样Web服务器就能区分当前请求页面的是哪一个客户端。那么,ASP.NET 2.0提供了哪些存储SessionID的模式呢:
· Cookie(默认)。如果客户端禁止了Cookie的使用,Session也将失效。
· URL。Cookie是否开启不影响Session使用,缺点是不能再使用绝对链接了。
三种模式的Session比较
InProc | StateServer | SQLServer | |
存储物理位置 | IIS进程(内存) | Windows服务进程(内存) | SQLServer数据库(磁盘) |
存储类型限制 | 无限制 | 可以序列化的类型 | 可以序列化的类型 |
存储大小限制 | 无限制 | ||
使用范围 | 当前请求上下文,对于每个用户独立 | ||
生命周期 | 第一次访问网站的时候创建Session超时后销毁 | ||
优点 | 性能比较高 | Session不依赖Web服务器,不容易丢失 | |
缺点 | 容易丢失 | 序列化与反序列化消耗CPU资源 | 序列化与反序列化消耗CPU资源,从磁盘读取Session比较慢 |
使用原则 | 不要存放大量数据 | ||
JQuery例子:
.精准简单的选择对象(dom):
$('#element');// 相当于document.getElementById("element")
$('.element');//Class
$('p');//html标签
$("form > input");//子对象
$("div,span,p.myClass");//同时选择多种对象
$("tr:odd").css("background-color", "#bbbbff");//表格的隔行背景
$(":input");//表单对象
$("input[name='newsletter']");//特定的表单对象
2.对象函数的应用简单和不限制:
element.function(par);
$(”p.surprise”).addClass(”ohmy”).show(”slow”)...
3.对已选择对象的操作(包括样式):
$("#element").addClass("selected");//给对象添加样式
$('#element').css({ "background-color":"yellow", "font-weight":"bolder" });//改变
对象样式
$("p").text("Some new text.");//改变对象文本
$("img").attr({ src: "test.jpg", alt: "Test Image" });//改变对象文本
$("p").add("span");//给对象增加标签
$("p").find("span");//查找对象内部的对应元素
$("p").parent();//对象的父级元素
$("p").append("<b>Hello</b>");//给对象添加内容
4.支持aJax,支持文件格式:xml/html/script/json/jsonp
$("#feeds").load("feeds.html");//相应区域导入静态页内容
$("#feeds").load("feeds.php", {limit: 25}, function(){alert("The last 25 entries
in the feed have been loaded");});//导入动态内容
4.对事件的支持:
$("p").hover(function () {
$(this).addClass("hilite");//鼠标放上去时
}, function () {
$(this).removeClass("hilite");//移开鼠标
});//鼠标放上去和移开的不同效果(自动循环所有p对象)
5.动画:
$("p").show("slow");//隐藏对象(慢速渐变)
$("#go").click(function(){
$("#block").animate({
width: "90%",
height: "100%",
fontSize: "10em"
}, 1000 );
});//鼠标点击后宽、高、字体的动态变化
6.扩展:
$.fn.background = function(bg){
return this.css('background', bg);
};
$(#element).background("red");
浙公网安备 33010602011771号