客户端与服务器端通信.

上传人:jiups****uk12 文档编号:90833297 上传时间:2019-06-19 格式:DOC 页数:11 大小:178.51KB
返回 下载 相关 举报
客户端与服务器端通信._第1页
第1页 / 共11页
客户端与服务器端通信._第2页
第2页 / 共11页
客户端与服务器端通信._第3页
第3页 / 共11页
客户端与服务器端通信._第4页
第4页 / 共11页
客户端与服务器端通信._第5页
第5页 / 共11页
点击查看更多>>
资源描述

《客户端与服务器端通信.》由会员分享,可在线阅读,更多相关《客户端与服务器端通信.(11页珍藏版)》请在金锄头文库上搜索。

1、客户端与服务器端通信cookieCookie是网景公司开发的,便于服务器端程序通过它可以存储和检索客户端机器上的信息,一个Cookie就是一些简单的变量,用于存储客户端机器上web页面所需要的信息。Cookie以Cookie文件的形式将一些简单的记录存储在用户机器上,这些Cookie文件可以由CGI或客户端Javascript创建,然后将被保存直到过期,它是由服务器端程序发送的,用于相应浏览器URL请求的信息组成。当浏览器向web服务器发出一个URL请求时,首先检查请求的URL是否可以和本地的Cookie匹配,那么浏览器将这个Cookie作为HTTP请求URL的一部分发送给web服务器。如果用

2、户是第一次访问网站,CGI程序(或其他的服务器端程序)将通过HTTP响应创建并向浏览器发送Cookie,当服务器端程序向浏览器发送Cookie以响应URL请求并时,客户端机器上的Cookie将被更新,这样,当服务器端程序被调用的时候就实现了客户端机器状态信息的更新。使用Cookie,网站可以识别该客户端是第一次访问,还是多次访问,还可以得到客户端的访问信息。Cookie还可以为浏览器提供方便的服务,例如在安全性要求不高的场合避免重复输入账号和密码,针对性地投放广告等。但是由于Cookie可以记录客户端信息,一些恶意代码可以收集客户端信息,例如芯片类型等,还可以随意修改客户段的系统设置,发送广告

3、或者垃圾邮件等。javascript主要在两个方面使用Cookie第一个是记录访客的信息,例如上次登陆的用户名和密码,光临网站的次数等。第二个是在页面间传递变量。如果需要在页面间传递信息,方法之一就是将变量用Cookie的形式保存下来,需要获取变量的页面通过读取Cookie来获得变量的值。(1)name :Cookie的唯一标志。(2)value:保存在Cookie中的值,在存入之前要进行编码。(3)empires:是时间类型的,单位是毫秒。记录Cookie在客户端保留的时间。当系统时间大于Empires属性时,Cookie将被删除。(4)path:用来确定Cookie对象传送的位置。(5)d

4、omain:指定关联的web服务器或域,值是域名。(6)secure:Cookie的安全性标志,取值范围为true/false。如果这个属性被设置为true,Cookie会在一个安全的方式“SSL连接”下发送到客户端。通过JavaScript可以设置Cookie、读取Cookie及删除Cookie,但由于接口函数比较少,在JavaScript中操作Cookie比较麻烦。利用document.Cookie属性可以获得计算机中存储的Cookie的名字和值。document.Cookie属性的显示方法是:;对document.Cookie赋值可以创建一个Cookie,并且不会删除原有的Cookie。

5、function writeCookie(name, value, day)expire = ;expire = new Date(new Date().getTime() + (day * 24*60*60*1000);expire = ; expires= + expire.toGMTString();document.cookie = name + “=” + escape(value) + expire;/escape()将字符串按照URL编码方式进行编码function readCookie(name)if(document.cookie.length0)begin=document

6、.cookie.indexOf(name+=);if(begin!=-1)begin=begin+name.length+1;end=document.cookie.indexOf(;,begin);if(end=-1)end=document.cookie.length;return unescape(document.cookie.substring(begin,end)return null;return null;function delcookie(name)var exp=new Date();exp.setTime(exp.getTime()-1);if(readcookie(n

7、ame)!=null)document.cookie=name+=+;expires=+exp.toGMTString();xmlhttp多数浏览支持在JavaScript中直接建立HTTP请求,实现向服务器发送数据及接收从服务器返回的数据等操作,达到客户端和服务器商通信的目的,实现这些功能的核心技术就是微软所建立的XMLHttp对象。在JavaScript脚本中,通过XMLHttp对象可以方便的建立客户与服务器端的通信,完成所需要的数据交互,最主要的交互方式为GET和post方法。XMLHttp对象实质是一组API函数集,可以被脚本语言或编程语言调用,通过HTTP请求在浏览器和服务器之间收发

8、XML或其他数据。要使用XMLHttp对象,首先要创建XMLHttp对象的实例。不同浏览器创建和使用的方法稍有不同。在IE中,微软通过ActiveX控件方式获得XMLHttp对象实例:var XMLHttpRquest=new ActiveXObject(“MSXML2.XMLHTTP”)var XMLHttpRquest=new ActiveXObject(“MSXML.XMLHTTP”)使用哪种方法创建,取决于客户端所安装的MSXML版本,参数可以是“MSXML2.XMLHTTP.5.0、 MSXML2.XMLHTTP.4.0 、MSXML2.XMLHTTP.3.0 、MSXML2.XML

9、HTTP和Microsoft.XMLHttp为方便开发者找到客户端的最新MSXML版本,可以利用函数创建XMLHttp对象实例 function createXMLHTTP( ) var arrVersions=“MSXML2.XMLHTTP.5.0”, “MSXML2.XMLHTTP.4.0 “,”MSXML2.XMLHTTP.3.0”,”MSXML2.XMLHTTP”,”Microsoft.XMLHttp”;for (var i=0;iarrVersions.length;i+)tryvar request=new ActiveObject(arrVersionsi);return;cat

10、ch(exception) alert(“系统没有安装MSXML!”);XMLHttp对象的8个属性和6个方法。XMLHttp对象的两种执行模式:同步模式和异步模式。使用XMLHttp对象实现客户端与服务器端通信,通常分两大部分:发送请求和处理响应。 使用XMLHttp对象实现通信的过程一般分五步:创建XMLHttp对象,一般可以用创建函数来完成。建立客户端与服务器端的连接,同时定义指令发送方式,设置服务网页(URL)和请求权限。向服务器发送请求,使用send()方法发送指令等待并接收服务器端响应,并处理返回结果。释放XMLHttp对象。使用GET()方法同步取得本地文件d12.txt,并提示

11、相应信息。var XMLHttpRequest=createXMLHTTP();XMLHttpRequest.open(get,d12.txt,false);XMLHttpRequest.send(null);if(XMLHttpRequest.status=200)alert(服务器返回的数据为:+XMLHttpRequest.responseText);elsealert(错误代码:+XMLHttpRequest.status+错误描述:+XMLHttpRequest.statusText); 使用GET()方法异步取得本地文件d12.txt,则要用onreadystatechange来附

12、加判断readyState属性是否达到4(完成状态)。var XMLHttpRequest=createXMLHTTP();XMLHttpRequest.open(get,d12.txt,true);XMLHttpRequest.onreadstatechange=function() if (XMLHttpRequest.readyState=4) alert (服务器返回的数据为:+XMLHttpRequest.responseText);XMLHttpRequest.send(null);if(XMLHttpRequest.status=200)alert(服务器返回的数据为:+XMLH

13、ttpRequest.responseText);elsealert(错误代码:+XMLHttpRequest.status+错误描述:+XMLHttpRequest.statusText); GET请求使用最普遍,浏览器将创建一个请求,该请注包含页面URL、一个问号及参数。浏览器会将该该请求返回给URL中指定的脚本。GET请求URL参数对表示形式:open方法参数URL后面,用?开头,以name/value参数对的方式出现,当有多个参数对时,参数对之间用&隔开XMLHttpRequest.open(“get”,http:/ 在写URL时,有时不能一次性确定所有参数对,则需要对已有的URL添加

14、新参数对。 参数对添加函数function addURLParamGet(sURL,sName,sValue)/sURL:原有的URL sName:新参数名 sValue:新参数的值sURL+=(sURL.indexOf(“?”)=-1 ? “?”:”&”);sURL+=encodeURIComponent(sName)+”=“enencodeURIComponent(sValue);return sURL;var XMLHttpRequest=createXMLHTTP();var sURL=“http:/ (XMLHttpRequest.status=200)alert(“服务器返回的数据为:”:XMLHttpRequest.responseText);elsealert(“出错!”+ XMLHttpRequest.statusText);post请求的参数URL中不直接包含参数对。参数对作为send( )方法参数发送出去 参数对添加函数function addURLParamPost(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号