《Web技术讲座.pdf》由会员分享,可在线阅读,更多相关《Web技术讲座.pdf(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Web技术介绍-终端技术部目录 TCP/IP简介 Http概述 Cookie Web Service JavaScript,Ajax WEB服务器 Asp.Net Tcp/IP协议 Tcp/IP介绍TCP是面向连接的IP是基于报文的 Socket编程接口 Http协议 Http协议介绍 Http头 Http协议特点 Http协议的应用介绍互联网上应用最为广泛的一种网络协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来标识。HTTP头GET/test
2、/test.aspx HTTP/1.1Host:HTTP/1.1 200 OKContent-Length:3059Content-Type:text/htmlSet-Cookie:PREF=ID=73d4aef52e57bae9:TM=1042253044:LM=1042253044:S=SMCc_HRPCQiqy X9j;expires=Sun,17-Jan-2038 19:14:07 GMT;path=/;domain=Connection:keep-aliveHTTP协议的主要特点1、支持客户/服务器模式2、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GE
3、T、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。3、灵活:HTTP允许传输任意类型的数据对象4、无连接:无连接的含义是限制每次连接只处理一个请求5、无状态:HTTP协议是无状态协议状态码所有HTTP响应的第一行都是状态行状态行,依次是当前HTTP版本号,3位数字组成的状态代码,以及描述状态的短语,彼此由空格分隔。状态代码的第一个数字代表当前响应的类型:1xx消息请求已被服务器接收,继续处理 2xx成功请求已成功被服务器接收、理解、并接受 3xx重定向需要后续操作才能完成这一请求 4xx请求错误请求含有词法
4、错误或者无法被执行 5xx服务器错误服务器在处理某个正确请求时发生错误方法 八种方法:OPTIONS,HEAD,GET,POST,PUT,DELETE,TRACE,CONNECT HTTP服务器至少应该实现服务器至少应该实现GET和和HEAD方法方法,其他方法都是可选的 Get与Post之间的区别 Get与Post各自的应用场合 各自的利弊应用 WEB网页(文字、图像、声音、视频)文件传输 源码版本管理 数据处理 在线聊天 代理服务 安全连接 Cookie 什么是Cookie?Cookie的格式 Cookie的使用限制 Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cook
5、ie和硬盘Cookie。用途因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现。在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两瓶饮料。最后结帐时,由于HTTP的无状态性,不通过额外的手段,服务器并不知道用户到底买了什么。所以Cookie就是用来绕开HTTP的无状态性的“额外手段”之一。服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。Cookie数据格式服务器响应 Set-Cookie:name=VALUE;expires=DATE;path=PATH;domain=DOMAIN_NAME;客户端请求
6、 Cookie:ASP.NET_SessionId=kszsyr551kpaam3fhxbi4vbh删除Cookie 调用只带有name参数的SetCookie,那么名为这个name的Cookie 将被从客户机上删掉 设置Cookie的失效时间为time()或time()-1,那么这个Cookie在这个页面的浏览完之后就被删除了(其实是失效了)。用户手工删除(如IE中:弹出“Internet 选项”,在 浏览记录 一栏里选择“删除”,然后弹出删除的内容(包括临时文件,表单记录等),选择 删除cookie,即可。)Cookie使用限制 cookie会被附加在每个HTTP请求中,所以无形中增加了流
7、量。由于在HTTP请求中的cookie是明文传递的,所以安全性成问题。(除非用HTTPS)Cookie的大小限制在4KB左右。对于复杂的存储需求来说是不够用的。存在安全性问题用户可以改变浏览器的设置,以使用或者禁用Cookies。Cookie安全问题 Cookie欺骗Cookie中保存的用户名、密码等个人敏感信息通常经过加密,很难将其反向破解。但这并不意味着绝对安全,黑客可通过木马病毒盗取用户浏览器Cookie,直接通过偷取的Cookie骗取网站信任。隐私泄漏隐私泄漏现在一些第三方广告联盟的代码使用范围很广。用户在A网站搜索了一个关键字,用户继续访问B网站,由于B网站也使用了同一家的第三方广告
8、代码,这个代码可以从Cookie中获取用户在A网站的搜索行为,进而展示更精准的推广广告。跨站Cookie就是用户隐私泄露的罪魁祸首 Session 什么是Session?Session如何在页面间传递?什么是Session Session,表示通话、会话、对话(期)、话路对谈时间的意思,其本来的含义一个终端用户与交互系统进行通信的时间(间隔),通常是指从注册(进入系统)到注销(退出系统)之间所经过的时间。页面间Session传递当用户访问到一个服务器,服务器就要为该用户创建一个SESSION,在创建这个SESSION的时候,服务器首先检查这个用户发来的请求里是否包含了一个SESSIONID,如
9、果包含了一个SESSIONID则说明之前该用户已经登陆过并为此用户创建过SESSION,那服务器就按照这个 SESSIONID把这个SESSION在服务器的内存中查找出来(如果查找不到,就有可能为他新创建一个),如果客户端请求里不包含有 SESSIONID,则为该客户端创建一个SESSION并生成一个与此SESSION相关的SESSIONID。这个SESSIONID是唯一的、不重复的、不容易找到规律的字符串,这个SESSIONID将被在本次响应中返回到客户端保存,而保存这个SESSIONID的正是COOKIE,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给服务器。无Cookie情况如
10、果把客户端的COOKIE禁止了,SESSIONID就无法再用了呢?可以有其他机制在COOKIE被禁止时仍然能够把Session id传递回服务器。经常被使用的一种技术叫做URL重写,就是把Session id直接附加在URL路径的后面 一种是作为URL路径的附加信息,表现形式为:http:/./xxx;jSession=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764;另一种是作为查询字符串附加在URL后面,表现形式为:http:/./xxx?jSession=ByOK3vjFD75aPnrF7C2HmdnV6QZc
11、EbzWoWiBYEnLerjQ99zWpBng!-145788764URL重写不同的服务器就会有不同的URL重写规则,比如 iis apache nginx 这三种重写方式都是不同的1.所有页面中,对所有的URL编码(包括所有的超链接和表单的action属性值)进行处理2.应用程序的所有的页面都应该是动态的3.所有静态的HTML页面都须经过服务器处理 Web Service 什么是Web Service?Web Service的特点 Web service是一个平台独立的,松耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于
12、开发分布式的互操作的应用程序。两种重要技术要达到这样的目标,Web services要使用两种技术:XML XML是在web上传送结构化数据的伟大方式,Web services要以一种可靠的自动的方式操作数据,HTML不会满足要求,而XML可以使web services十分方便的处理数据,它的内容与表示的分离十分理想SOAP SOAP使用XML消息调用远程方法,这样web services可以通过HTTP协议的post和get方法与远程机器交互,而且,SOAP更加健壮和灵活易用。其他象UDDI和WSDL技术与XML和SOAP技术紧密结合用于服务发现。技术支持技术支持 XML和和XSD SOAP
13、用于交换XML编码信息的轻量级协议 WSDL用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述Web Service及其函数、参数和返回值 UDDI UDDI 的目的是为电子商务建立标准,以使别的企业能够发现的访问协议的实现标准趋势内容更加动态:一个web service必须能合并从多个不同来源的内容,可以包括股票,天气,新闻等,在传统环境中的内容,如存货水平,购物订单或者目录信息等,都从后端系统而来带宽更加便宜:web services可以分发各种类型的内容(音频,视频流等)存储更便宜:web services必须能聪明地处理大量数据,意味着要使用数据库,LDAP目录,缓冲
14、,和负载平衡软件等技术保持可扩展能力普遍式计算更重要:web services不能要求客户使用某一版本的windows的传统浏览器,必须支持各种设备,平台,浏览器类型,各种内容类型。Ajax 什么是Ajax Ajax有什么好处?什么是Ajax AJAX 指异步指异步JavaScript及及 XML Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。AJAX不是一种新的编程语言,而
15、是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。Ajax好处 可在不重载页面的情况与Web服务器交换数据 可使网页从服务器请求少量的信息,而不是整个页面。可使因特网应用程序更小、更快,更友好 是一种独立于 Web 服务器软件的浏览器技术。通过 AJAX,因特网应用程序可以变得更完善,更友好 WEB服务器ApacheIISTomcatWebLogicWebSphereNginxWEB应用发展历程 CGI Applet Serverlet、ASP、PHP Flash DHTML,XML AjaxWEB服务器开发语言 Java Asp.Net PHP Python Pearl Rub
16、y Go ASP.Net 主要技术特点 页面事件 服务器事件与客户端事件 Session,ViewState以及静态变量的作用域ASP.NET 技术特点 页面代码分离模型 可定制Web 页面 大量的服务器端控件 服务器端事件Asp.Net 页面事件Page_Init在Web窗体的视图状态加载服务器控件并对其初始化。这是web窗体生命周期的第一步Page_Load在Page对象上载入服务器控件。由于此时视图状态信息是可以使用的,因此载这里可以用代码来改变空间的设置或者载页面上显示文本。Page_PreRender应用程序将要呈现Page对象Page_Unload页面从内存中卸载Page_Erro
17、r发生未处理的异常Page_AbortTransaction事务处理被终止Page_CommitTransaction事务处理被接受Page_DataBinding把页面上的服务器空间和数据源绑定载一起Page_DisposedPage对象从内存中释放掉。这是Page对象生命周期中的最后一个事件Asp.Net 事件在所有ASP.NET服务器控件中,只有Button和ImageButton能直接引发回传,当在这两种控件上触发事件时,控件的ID会作为参数传给服务器,从而使服务器得知该映射到哪个后端事件;其他控件则全部使用名为_doPostBack的javascript方法来触发回传。_doPost
18、Back方法定义如下:function _doPostBack(eventTarget,eventArgument)if(!theForm.onsubmit|(theForm.onsubmit()!=false)theForm._EVENTTARGET.value=eventTarget;theForm._EVENTARGUMENT.value=eventArgument;theForm.submit();Asp.NET Session Session是一种Web会话中的常用状态之一 Session提供了一种把信息保存在服务器内存中的方式。他能储存任何数据类型,包含自定义对象 每个客户端的Se
19、esion是独立存储的 在整个会话过程中,只要SessionID的cookie不丢失,都会保存Session信息的Asp.NET Session Session不能跨进程访问,只能由该会话的用户访问。应为提取Session数据的id标识是以Cookie的方式保存到访问者浏览器的缓存里的 当会话终止,或过期时,服务器就清除Session对象 Session常用于保存登录用户的ID Session保存的数据是跨页面全局型的Session ID Set-Cookie:ASP.NET_SessionId=15vb2i45kojheeqntpgl1z55;path=/;HttpOnly;X-AspNet-Version=2.0.50727;X-Powered-By=ASP.NET;http:/192.168.2.100/15vb2i45kojheeqntpgl1z55/test.aspxSession,ViewState session值是保存在服务器内存上 viewstate是将数据存入到页面隐藏控件里 但viewstate并不是能存储所有的.net类型数据,它仅仅支持String、Integer、Boolean、Array、ArrayList、Hashtable 以及自定义的一些类型.viewstate会增加页面html的输出量,占用更都的带宽谢谢
限制150内