移动编程技术第四讲(与“编码”有关的共31张)_第1页
移动编程技术第四讲(与“编码”有关的共31张)_第2页
移动编程技术第四讲(与“编码”有关的共31张)_第3页
移动编程技术第四讲(与“编码”有关的共31张)_第4页
移动编程技术第四讲(与“编码”有关的共31张)_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

移动编程技术第四讲第一页,共31页。目录编码、解码与乱码HTTP通信安全之HTTPSHTTPS的客户端代码实现HTTP通信安全之Cookie通信中使用Cookie的代码实现HTTP通信安全之HTTP重定向重定向在代码中的处理方法HttpUrlConnection的使用第二页,共31页。编码、解码与乱码

第三页,共31页。乱码为何产生

计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的英文、汉字等字符是二进制数转换之后的结果。通俗的说,按照何种规则将字符存储在计算机中,如'a'用什么表示,称为"编码";反之,将存储在计算机中的二进制数解析显示出来,称为"解码",如同密码学中的加密和解密。在解码过程中,如果使用了错误的解码规则,则导致'a'错误的解析成'b',或者直接变成乱码。00110000-->101011000-->X01111001-->y

第四页,共31页。常用字符集

ASCIIASCII是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,不过对cafénaïve这类词无法处理。iso8859-1又称Latin-1或“西欧语言”,是国际标准化组织的第一个8位字符集。它以ASCII为基础,在空置的0xA0-0xFF的范围内,加入96个字母及符号,藉以供使用变音符号的拉丁字母语言使用。GB2312适用于汉字处理、汉字通信等系统之间的信息交换,通行于中国大陆,新加坡等地也采用此编码,共收入汉字6763个和非汉字图形字符682个。Big-5通行于台湾、香港地区的一个繁体字编码方案,俗称“大五码”GBK共23940个码位,共收录了21003个汉字,完全兼容GB2312,并包含了BIG5编码中的所有汉字。UTF-8

是一种针对Unicode的可变长度字符编码,又称万国码。UTF-8用1到4个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如日文,韩文)第五页,共31页。编码的位置使用Post方法发起请求时,如果请求体中的键或值存在中文,一般需要对中文部分进行编码请求体username=李游&password=123456使用Get方法发起请求时,如果请求的URL中所带参数部分(query部分)的键或值存在中文,一般需要对中文部分进行编码&password=123456

StringencodedStr=URLEncoder.encode("李游","UTF-8");StringencodedStr=URLEncoder.encode("李游","UTF-8");第六页,共31页。编码的位置

第七页,共31页。解码的位置

服务器返回的响应主体(Body)默认情况下会被服务器以某种字符集编码,编码的字符集可能会在响应首部Content-Type中出现,例如:Content-Type:text/html;charset=utf-8此时,我们需要根据服务器响应首部中的charset来对响应主体进行解码。然而,某些时候服务器的响应首部Content-Type中并不存在charset字段,这种情况下,我们需要对响应主体的返回流进行复杂的判断,计算出可能的字符集类型,用来对响应主体解码。第八页,共31页。HTTP通信安全之HTTPS

HTTPS是什么?HTTPS是HTTP的安全版本,就是在安全的传输层上发送HTTP。HTTPS将原有HTTP报文发送给一个安全层进行加密,之后再发送给TCP(传输层)。这个安全层通过SSL(TLS)协议来实现。HTTPS将HTTP协议与一组强大的对称、非对称和基于证书的加密技术结合在一起,使得HTTPS变得安全且灵活,为电子商务、电子金融等需求安全保障的业务提供了可靠的传输。第九页,共31页。HTTP通信安全之HTTPS

HTTPS的主要作用1)验证服务器的身份,防止服务器欺诈2)验证客户端的身份,防止客户端欺诈和抵赖3)将HTTP报文在传输中加密,保证数据在传输中的安全第十页,共31页。HTTP通信安全之HTTPS

新增的传输安全层第十一页,共31页。HTTP通信安全之HTTPS

端口的变化第十二页,共31页。HTTP通信安全之HTTPS

HTTP与HTTPS传输对比第十三页,共31页。HTTP通信安全之HTTPS

第十四页,共31页。HTTP通信安全之HTTPS

第十五页,共31页。HTTP通信安全之HTTPS

理解SSL握手第十六页,共31页。HTTP通信安全之HTTPS

SSL握手的详细流程第十七页,共31页。HTTP通信安全之HTTPS

服务器证书第十八页,共31页。HTTPS的客户端代码实现

第十九页,共31页。HTTP通信安全之Cookie

HTTP设计之初就是一个匿名的无状态的请求/响应协议,服务器处理来自客户端的请求,然后回送给客户端一个响应,服务器很难判断请求是哪个用户发送的,如果服务器希望跟踪用户的浏览行为,就需要采用一种机制来辨识客户端,Cookie就是服务器识别客户端的多种机制中使用最广泛的一种。

Cookie的作用Cookie的类型Cookie可以分为会话Cookie和持久Cookie,前者是一种临时Cookie,他记录了用户访问站点时的设置与偏好,用户退出浏览器时,Cookie就被删除。后者将被保存在磁盘上,即使计算机重启它仍然存在,一般用来记录用户对站点的设置和登录名等信息。其唯一区别是后者因为有过期时间而被存储,前者没有过期时间而被删除。第二十页,共31页。HTTP通信安全之Cookie

第二十一页,共31页。HTTP通信安全之Cookie

第二十二页,共31页。HTTP通信安全之Cookie

Cookie的属性Name=Value键值对,(必须有),由服务器生成,客户端在后续访问该服务器时将会把键值信息带在请求首部中Expires到期时间(可选)01-Nov-9923:12:40GMTDomain域名(可选)domain="jd"Path路径(可选)为服务器特定的文档分配cookie,路径"/"匹配域名内所有内容,路径“/foo”可匹配/foobar或/foo/abc.html,如果没有Path属性,则将其设置为产生Set-Cookie响应的那个URL的路径Secure安全(可选)表示只有在HTTPS时发送CookieSet-Cookie:Name=Value;Expires=DATE;Path=PATH;Domain=DOMAIN_NAME;Secure第二十三页,共31页。通信中使用Cookie的代码实现

第二十四页,共31页。HTTP通信安全之HTTP重定向

HTTP重定向的作用1)提高HTTP操作的安全性,可以强制用户跳转2)保证HTTP传输的可靠性,可以使用备用资源3)最小化延时,为用户找到能够提供最佳服务的服务器第二十五页,共31页。HTTP通信安全之HTTP重定向

第二十六页,共31页。HTTP重定向在代码中的处理方法

第二十七页,共31页。HttpUrlConnection工具的使用

HttpURLConnection是JAVA提供的访问HTTP资源的工具,通过它,可以方便快捷的访问URL资源。该工具使用步骤:1)创建HttpURLConnection实例URLurl=newURL(address);HttpURLConnectionconn=(HttpURLConnection)url.openConnection();2)设置超时时间,首部,请求方法conn.setConnectTimeout(10000);conn.setRequestProperty("Accept","image/jpeg,*/*");conn.setRequestProperty("Connection","close");conn.setRequestMethod("GET");3)获取服务器响应的输入流InputStreamin=conn.getInputStream();4)还可以向服务器写入请求体,或者上传数据OutputStreamout=conn.getOutputStream();第二十八页,共31页。HttpUrlConnection工具的使用第二十九页,共31页。上机练习(一)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论