Web安全与防护 (微课版) 课件 项目一 Web安全基础:任务一二Web安全核心问题、任务三HTTP协议及安全性、任务四Web应用中的编码_第1页
Web安全与防护 (微课版) 课件 项目一 Web安全基础:任务一二Web安全核心问题、任务三HTTP协议及安全性、任务四Web应用中的编码_第2页
Web安全与防护 (微课版) 课件 项目一 Web安全基础:任务一二Web安全核心问题、任务三HTTP协议及安全性、任务四Web应用中的编码_第3页
Web安全与防护 (微课版) 课件 项目一 Web安全基础:任务一二Web安全核心问题、任务三HTTP协议及安全性、任务四Web应用中的编码_第4页
Web安全与防护 (微课版) 课件 项目一 Web安全基础:任务一二Web安全核心问题、任务三HTTP协议及安全性、任务四Web应用中的编码_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

项目一Web安全基础Web安全与防护本任务要点学习目标Web技术发展阶段了解Web技术发展各阶段的典型应用。能阐述Web技术发展各阶段的区别和联系。任务一Web技术发展历程目录CONTENTS01/Web技术发展历程Web技术发展历程01TimBerners-Lee于1989年在欧洲核子研究组织(CERN)正式提出万维网的设想。Web技术的发展变迁经历了Web1.0,2.0,3.0三个时代。Web技术发展历程01Web1.0初代的互联网,它的主要特点是静态的网页内容。Web1.0的本质是聚合、联合、搜索,解决人们对信息搜索、聚合的要求。Web2.0这个阶段的互联网更加注重用户的参与和互动。用户不仅可以浏览网页内容,还可以创建自己的博客、社交媒体账户等,与其他用户进行交流和分享,用户既是信息的消费者,也是信息的生产者。Web3.0这个阶段的核心理念是数据的去中心化和用户的自主权。在Web3.0时代,用户的数据不再被单一的平台所控制,而是可以跨平台、跨应用进行共享和使用。同时,借助区块链等先进技术,用户可以对自己的数据进行加密和验证,确保数据的安全和隐私。实现网络信息共享实现网络信息共建实现知识的传承Web技术发展历程01互联网Web1.0Web2.0Web3.0演变静态互联网平台互联网价值互联网定位门户网站平台网站用户互联网中心1个中心:网站1个中心:平台N个中心:用户内容传输单项信息输出双向信息交互信息聚链与价值共享用户角色内容消费者内容生产者内容拥有者ID模式无数字身份基于平台账户的数字身份用户自主的数字身份数据/内容所有权机构公司或平台组织及个人,可移植Web1.0、Web2.0、Web3.0主要区别项目一Web安全基础Web安全与防护本任务要点学习目标Web应用的基本架构Web安全核心问题与传统安全的区别熟悉Web应用的基本架构。了解Web应用面临的安全风险。能够阐述Web存在安全隐患的原因。任务二Web安全的核心问题目录CONTENTS01/Web应用基本架构02/Web安全核心问题03/与传统安全的区别Web应用基本架构01Web应用基本架构01前台后台Web应用前台面向网站访问用户,是给访问网站的用户看的内容和页面。通过前台访问可以浏览公开发布的内容。基于带数据库开发的动态Web网站,可以分为前台应用和后台应用。后台,也称为网站管理后台,是用于管理网站前台的一系列操作。后台通常需要账号、口令等身份信息进行登录验证后,才能进行相关操作。Web应用基本架构01Web中间件提供Web服务的应用软件Web服务器部署安装了Web中间件的服务器Web应用基本架构01Web应用工作原理因特网服务器链接到URL的超链HTTP使用此TCP连接浏览器程序服务器程序HTTP客户建立TCP连接释放TCP连接

HTTP响应报文

响应文档

HTTP请求报文

请求文档三次握手四次分手Web应用基本架构01Web应用工作原理(4)浏览器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到对端服务程序。(5)服务端程序拿到该数据包后,同样以HTTP协议格式解包,然后解析客户端的意图。(6)得知客户端意图后,进行分类处理,或是提供某种文件、或是处理数据。(7)将结果装入缓冲区,或是HTML文件、或是一张图片等。(8)按照HTTP协议格式将(7)中的数据打包(9)服务器确认对端可写,并将该数据包推入Internet,该包经过网络最终递交到客户端。(10)浏览器拿到包后,以HTTP协议格式解包,然后解析数据,假设是HTML文件。(11)浏览器将HTML文件展示在页面(1)用户做出了一个操作,可以是填写网址敲回车,可以是点击链接,可以是点击按键等,接着浏览器获取了该事件。(2)浏览器与对端服务程序建立TCP连接。(3)浏览器将用户的事件按照HTTP协议格式**打包成一个数据包,其实质就是在待发送缓冲区中的一段有着HTTP协议格式的字节流。Web服务器的本质:接收数据⇒HTTP解析⇒逻辑处理⇒HTTP封包⇒发送数据Web应用基本架构01Web应用工作原理(1)当用户点击一个网页链接或浏览器加载一些资源(css,jpg…)时产生。(6)服务程序解包后,确定其为GET请求,并且是对该服务器上的某一资源的请求。首先服务程序会去确认该路径是否存在,再确定该路径的文件是否可以获取。(7-1)如果请求的路径有误,或者该资源不能被用户获取,则返回错误提示页面。(7-2)如果该路径合法且文件可以被获取,那么服务程序将根据该文件类型进行不同的装载过程,记录其类型作为(8)中HTTP协议中对应的返回类型,并加入响应头。Web服务器提供静态文件工作原理Web应用基本架构01Web应用工作原理(1)用户提交数据,假设用户点击一个按键提交填好的信息。在(3)中将以POST格式写入,并填入提交至服务端的可执行程序的路径。(6)服务端将参数与该CGI绑定,复制进程,用管道传递参数和接收结果(7)子进程执行CGI,接收(6)父进程传来的参数,运算完成返回结果。Web服务器处理数据提交工作原理Web安全核心问题02Web应用常见安全风险数据信息泄露蚂蚁金服数据泄露(2021年)人人网数据泄露(2020年)美团外卖数据泄露(2020年)网站篡改页面内容篡改恶意代码嵌入网络博彩、色情链接嵌入业务安全风险撞库、口令暴力破解恶意注册、抢单、抢座、投票DDOS拒绝服务攻击Web安全核心问题02Web应用环境数据库安全漏洞操作系统安全漏洞中间件安全漏洞从安全角度考虑,Web应用中的中间件、数据库、操作系统等均会影响Web系统的安全。因此,在Web系统中,无论有多少硬件设备、提供支持的组件有哪些,只要它们为Web提供支持,都要纳入防护体系。Web安全核心问题02HTTP协议作为Web应用的基础协议,其特点就是用户请求<——>服务器响应。在这个过程中,服务器一直处于被动响应状态,无法主动获取用户的信息。基于这种交换环境,在客户端可篡改任何请求参数,服务器必须对请求内容进行响应。Web存在安全隐患的核心问题:Web应用类型复杂,防护经验无法复用。Web应用包含的服务组件众多,任意一个组件出现问题都会影响整体的安全程度。由于HTTP协议的特性,用户端的所有行为均不可信。与传统安全的区别03对比项传统系统安全Web应用安全通用性建立在使用较广的通用软件基础上每一个应用相当于一个独立的软件开发者通常是具有较高专业技术的厂商和人员,对安全有一定的理解开发者水平参差不齐,对于安全的理解往往较为不足漏洞的检测建立在漏洞已知、确定的基础上基于业务特点,对可能的存在的漏洞进行检测漏洞的挖掘需要对计算机结构、操作系统原理、底层语言等有很深入的了解,难度大只需要掌握基础的网站架构、脚本语言、数据库知识,难度低漏洞的修复由专业的厂商提供修复方案应用开发人员自行修复攻击途径多数服务端口不开放在互联网上,攻击途径较少Web应用多数开放在互联网上,攻击途径较多攻击特征有数据级的攻击特征,攻击行为与正常业务行为的差异明显攻击特征不明显,业务逻辑类漏洞在数据层面无攻击特征防护难度对于已知漏洞的防护较为容易防护难度大Web应用安全与传统安全的区别课堂实践一、任务名称:熟悉HTTP请求和响应流程二、任务内容:使用浏览器访问任意合法网站,打开Burpsuit软件捕获访问数据包,找到用户请求数据报文和服务器响应数据报文,观察请求数据和响应数据特点。三、工具需求:浏览器、Burpsuit四、任务要求:完成实践练习后,由老师检查完成情况。课堂思考一、Web1.0、Web2.0、Web3.0主要区别有哪些?二、常见的Web中间件有哪些?三、什么是Web服务器?四、Web网站前台和后台的主要功能是什么?五、Web应用常见安全风险有哪些?六、Web安全的核心问题是什么?课后拓展:Web应用安全事件调研请同学们通过互联网查找近3年内与Web应用相关的网络安全事件,分析导致相关安全事件发生的原因,提交word文档或PPT,下节课会抽点部分同学上来给大家分享一下自己了解到的Web应用安全事件案例。THANK

YOUToBeContinued项目一Web安全基础Web安全与防护本任务要点学习目标HTTP报文格式URL格式及作用HTTPS认证流程熟悉HTTP请求报文和响应报文格式。熟悉URL格式。熟悉HTTPS基本概念和工作原理。能够分析捕获的HTTP报文内容。任务三HTTP协议及安全性目录CONTENTS01/HTTP请求报文02/HTTP响应报文03/URL基本概念04/HTTPS安全性分析HTTP请求报文01HTTP协议

RFC2616,HTTP1.1。超文本传输协议(英文:HyperTextTransferProtocol,缩写:HTTP)是互联网上应用最为广泛的一种网络协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP协议请求的资源由统一资源标识符(UniformResourceIdentifiers,URI)来标识。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。HTTP有两类报文:请求报文和响应报文。HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTPS(HypertextTransferProtocoloverSecureSocketLayer)简单讲是HTTP的安全版,在HTTP下加入SSL层。SSL(SecureSocketsLayer安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全。HTTP无状态性:HTTP协议是无状态的(stateless)。也就是说,同一个客户端第二次访问同一个服务器上的页面时,服务器无法知道这个客户端曾经访问过,服务器也无法分辨不同的客户端。HTTP的无状态特性简化了服务器的设计,使服务器更容易支持大量并发的HTTP请求。HTTP请求报文01HTTP协议

HTTP持久连接

HTTP1.0使用的是非持久连接,主要缺点是客户端必须为每一个待请求的对象建立并维护一个新的连接,即每请求一个文档就要有两倍RTT的开销。因为同一个页面可能存在多个对象,所以非持久连接可能使一个页面的下载变得十分缓慢,而且这种短连接增加了网络传输的负担。HTTP1.1使用持久连接keepalive,所谓持久连接,就是服务器在发送响应后仍然在一段时间内保持这条连接,允许在同一个连接中存在多次数据请求和响应,即在持久连接情况下,服务器在发送完响应后并不关闭TCP连接,而客户端可以通过这个连接继续请求其他对象。HTTP/1.1协议持久连接的两种方式:非流水线方式:客户在收到前一个响应后才能发出下一个请求;流水线方式:客户在收到HTTP的响应报文之前就能接着发送新的请求报文。HTTP请求报文01http请求报文由请求行<request-line>、请求头部<headers>、空行<blank-line>和请求数据<request-body>4个部分组成HTTP请求报文01请求报文请求行:由3部分组成:请求方法、URL、协议版本,之间由空格分隔请求方法——包括GET、HEAD、PUT、POST、TRACE、OPTIONS、DELETE以及扩展方法,并不是所有的服务器都实现了所有的方法,部分方法即便支持,出于安全性的考虑也是不可用的。最基本的方法有4种:GET、POST、PUT、DELETE,对应着对URL资源的查,改,增,删4个操作;GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。协议版本——格式为:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1请求头部为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔。请求头部的最后会有一个空行,表示请求头部结束,接下来为请求正文,这一行非常重要,必不可少。HTTP请求报文01请求报文请求正文:可选部分,比如GET请求就没有请求正文POST比GET方式的安全性要高:(1)登录页面有可能被浏览器缓存;(2)通过GET提交数据,用户名和密码将明文出现在URL上,其他人查看浏览器的历史纪录,就可以拿到你的账号和密码;(3)当遇上跨站的攻击时,安全性的表现更差。HTTP响应报文02HTTP响应报文主要由状态行、响应头部、响应正文3部分组成HTTP响应报文02响应报文请求行:由3部分组成,分别为:协议版本,状态码,状态码描述,之间由空格分隔1xx:指示信息--HTTP/1.1向协议中引入了信息性状态码,表示请求已接收,继续处理;2xx:成功--表示请求已被成功接收、理解、接受;3xx:重定向--要完成请求必须进行更进一步的操作;4xx:客户端错误--请求有语法错误或请求无法实现;5xx:服务器端错误--服务器未能实现合法的请求。HTTP响应报文02响应报文响应头部:与请求头部类似,为响应报文添加了一些附加信息。URL基本概念03怎样标志分布在整个因特网上的万维网文档?Web采用“统一资源定位符”(URLUniformResourceLocator)来惟一标识和定位万维网上的各种文档。通用的URL描述格式为:信息服务类型://信息资源地址[:端口号]/路径名/文件名<协议>://<主机>:<端口>/<路径>ftp——文件传送协议FTPhttp——超文本传送协议HTTPURL基本概念03使用HTTP的URL的一般形式

http://<主机>:<端口>/<路径>

HTTP的默认端口号是80,通常可省略

http://<主机>:<端口>/<路径>

若再省略文件的<路径>项,则URL就指到因特网上的某个主页(homepage)。URL基本概念03URI、URL和URN之间的区别URI全名为UniformResourceIndentifier(统一资源标识),用来唯一的标识一个资源,是一个通用的概念,URI由两个主要的子集URL和URN组成URL全名为UniformResourceLocator(统一资源定位),通过描述资源的位置来标识资源URN全名为UniformResourceName(统一资源命名),通过资源的名字来标识资源,与其所处的位置无关,这样即使资源的位置发生变动,其URN也不会变化HTTPS安全性分析04为什么使用HTTPSHTTP协议在传输中,未对传输的数据进行加密处理,因此对会话过程进行抓包分析,很容易获得用户当前的行为,包括用户的登录情况、用户名和口令、访问地址等。HTTPS安全性分析04什么是HTTPSHTTPS协议又称为“安全超文本传输协议”,它是HTTP协议的安全版本,主要通过在HTTP和TCP/IP之间添加一层加密层来增强数据传输的安全性。HTTPS并不是一个独立的协议,通俗地说,HTTPS协议就是HTTP依托SSL协议来达到数据安全传输的效果。SSL(SecureSocketsLayer,安全套接层)是一种为网络通信提供安全及数据完整性的安全协议。其后续规范协议TLS(TransportLayerSecurity)对原有SSL协议进行了扩展。目前,HTTP协议都是利用TLS实现传输加密过程。HTTPS安全性分析04HTTPS协议的特点加密:HTTPS协议使用SSL或TLS协议对数据进行加密,保证了数据在传输过程中被窃听的安全性(密文与原始明文差异极大)。数据完整性:HTTPS协议可以保证数据在传输过程中未被修改,保护数据的完整性。身份验证:通过SSL/TLS证书验证服务器的身份,保证客户端访问的是目标服务器而非冒名顶替的服务器,可以防止“中间人”攻击。HTTPS安全性分析04HTTPS如何保证数据安全传输对称加密非对称加密数字证书解决密钥传输和数据加密问题解决中间人攻击问题HTTPS安全性分析04HTTPS如何保证数据安全传输对称加密非对称加密解决密钥传输和数据加密问题在实际情况中往往采用非对称加密的方式将公钥传输给客户端,接着客户端再生成一把对称密钥,使用公钥对该密钥进行加密后传输给服务器,服务器收到请求后使用私钥解密得到对称密钥,在后面的通信过程中,双方都使用对称密钥传输信息。解决:

1)对称加密,密钥传递困难的问题;2)非对称加密算法资源消耗高的问题。HTTPS安全性分析04HTTPS如何保证数据安全传输对称加密非对称加密解决密钥传输和数据加密问题中间人攻击将有可能获得通信双方传输的加密数据的明文信息:1)客户端向服务器询问公钥;2)黑客传递询问公钥请求,服务器端生成public1和private1,并把公钥public1作为响应返回;3)黑客收到public1后保存下来(用于后面加密对称密钥,达到隐藏自己的目的),同时自己生成public2和private2,将public2返回给客户端;4)客户端收到公钥后,用public2加密自己生成的对称密钥并传递给服务器;5)黑客收到请求,使用private2解密获取用于日常数据传输的对称密钥,再用public1加密对称密钥,传递给服务器。(这样既能使服务器和客户端能够正常使用对称密钥传输数据,也能够达到隐藏自己的目的,后面就能随意监听通信双方传输的数据,甚至伪装成另一方与对面通信,以此达到其他非法目的);6)服务器收到请求,使用private1解密获取对称密钥,此时服务器和客户端都认为彼此是直接、安全地进行通信。中间人攻击指攻击者在通信双方之间秘密穿插自己,甚至伪装成通信的另一方,使得通信双方认为他们在直接地、安全地与对方通信,但实际上所有传递的信息都经过攻击者,从而通过这种攻击达到窃取通信过程的敏感数据或篡改数据的目的。HTTPS安全性分析04HTTPS如何保证数据安全传输对称加密非对称加密数字证书1)思考一:若黑客替换了证书中的公钥是否可行?2)思考二:若黑客将公钥连同加密的校验和一同替换了是否可行?3)思考三:若黑客也向公证机构申请一个证书,将证书里的公钥、校验和等属性替换成自己的,后面再将证书传递给客户端,借助上述的中间人攻击手段,达到窃听、修改通信数据的目的。这种方法是否可行?HTTPS安全性分析041)思考一:若黑客替换了证书中的公钥是否可行?2)思考二:若黑客将公钥连同加密的校验和一同替换了是否可行?3)思考三:若黑客也向公证机构申请一个证书,将证书里的公钥、校验和等属性替换成自己的,后面再将证书传递给客户端,借助上述的中间人攻击手段,达到窃听、修改通信数据的目的。这种方法是否可行?不可行。因为一旦服务器的公钥被替换,客户端如果证书计算出来的校验和一定与解密后的原始校验和不一致,这样则说明了公钥或其他内容被修改过。不可行。因为若要替换校验和需使用私钥加密,而私钥是公证机构持有的,若使用黑客生成的私钥加密校验和,客户端则不能正确解密数字签名,因此这种方法也是行不通的。不可行。因为申请证书需要提交各种证明自己身份的资料,公证机构会对这些资料进行审查,若发现申请的域名不是自身持有的则不会颁发数字证书。课堂实践一、任务名称:分析HTTP完整会话过程二、任务内容:使用wireshark、burpsuite获取Web访问数据包,分析一次完整的Web访问会话:TCP三次握手、HTTP请求、HTTP响应、TCP四次分手。三、工具需求:浏览器、wireshark、Burpsuit四、任务要求:完成实践练习后,由老师检查完成情况。课堂思考一、HTTP/1.1协议持久连接有哪几种方式?二、http请求报文由哪几部分组成?三、http最基本的请求方法是哪几种?四、HTTP响应报文由哪几部分组成?五、响应报文中4XX状态码表示什么含义?六、URI、URL和URN的区别和联系是什么?课后拓展:POST和GET安全性调查请同学们通过互联网查找有关HTTP的POST和GET请求方式相关资料,学习两种请求方式的异同,并分析为什么使用POST请求方式,安全性比使用GET请求方式高一些。下节课会抽点部分同学进行解答和分享。THANK

YOUToBeContinued项目一Web安全基础Web安全与防护本任务要点学习目标字符编码传输过程的编码熟悉字符编码的原理和作用。熟悉URL编码方法。熟悉Base64编码方法。任务四Web应用中的编码目录CONTENTS01/字符编码02/传输过程的编码接收方发送方字符编码01字符是各种文字和符号的总称,其中包括各个国家文字、标点符号、图形符号、数字等。常见的语言都有对应的字符编码,字符编码就是约定某个字在计算机中的编号。在Web系统中,需要使用某种编码方式来表现语言所对应的文字和格式。编码解码传输有信息交换就会产生编码、传输、解码三个过程编码是信息从一种形式转变成另一种形式的过程。比如人类的语言通过声带编码,转换成声波。解码是编码的逆函数,耳膜接收声波,通过脑神经解码成人类文化所能理解的信息。在不同的编码中,同一个字对应的编号完全不同,因此容易形成“乱码”。字符编码01ASCII编码:(AmericanStandardCodeforInformationInterchange,美国信息交换标准代码)上个世纪60年代,美国制定的一套字符编码,对英语字符与二进制位之间的关系,做了统一规定,被称为ASCII码,是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。是最通用的信息交换标准,等同于国际标准ISO/IEC646。计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。因此,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。常见ASCII码的大小规则:0~9<A~Z<a~z1)数字比字母要小,如“7”<“F”;2)数字0比数字9要小,并按0到9顺序递增,如“3”<“8”;3)字母A比字母Z要小,并按A到Z顺序递增,如“A”<“Z”;同理,字母a比字母z要小,“a”<“z”;4)同个字母的大写字母比小写字母要小32,如“A”<“a”;字符编码01ASCII编码:(AmericanStandardCodeforInformationInterchange,美国信息交换标准代码)字符编码01英语是字母文字,其常用单词均可以利用26个字母拼接实现,因此ASCII编码可满足英语环境。但在面对形意文字时,使用ASCII编码会有非常大的问题。中文是典型的形意文字,常用的文字数量达到350个以上,仅仅利用8bit提供的256个编码数量远远无法满足编码需求。Unicode编码UTF-8的特点是对不同范围的字符使用不同长度的编码。UTF-16编码以16位无符号整数为单位。我们把Unicode编码记作U。前缀写为\u、%u。UTF-32编码以32位无符号整数为单位。Unicode编码与ASCII编码不兼容,但可以转换。【试一试】访问/unicode/站点,尝试将“你好”转换成Unicode编码和ASCII编码。Unicode编码,又称万国码、国际码、统一码,是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。Unicode编码共有三种具体实现,分别为utf-8,utf-16,utf-32,其中utf-8占用一到四个字节,utf-16占用二或四个字节,utf-32占用四个字节。Unicode编码范围是:0-0x10FFFF,可以容纳1114112个字符。传输过程的编码02URL与URL编码URL(UniformResourceLocator,统一资源定位器、定位地址,俗称网页地址,简称网址),是因特网上标准的资源地址,如同在网络上的门牌。完整格式:scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment][协议类型]://[用户名[:密码]]@[服务器地址]:[端口号]/[资源层级文件路径][文件名]?[查询]#[片段ID]协议类型:常见的有http、https,还有ftp、file、mailto、data等。用户名、密码:这没什么好解释的,就是字面意思。服务器地址:有的时候你在URL上看到的是域名,其实会通过DNS转为IP地址,所以还是服务器IP地址。端口号:常见80、443、21、22等。资源层级文件路径:大部分会隐藏,就是服务器的目录路径,使用"/"区别每一层。文件名:如访问网页,可能是xxx.htm、xxx.html、xxx.php等,例如,index.html。查询:使用"&"连接片段ID:有的时候被称为“锚点”,一般是指CSS中的id,就是使用浏览器调试时看到的id属性,有时也可通过这个进行XSS或sql注入。【试一试】访问站点,收缩“URL”,观察地址栏中的信息,尝试分析一下URL的结构。其中[用户名[:密码]]、[端口号]、[查询]、[片段ID]都属于选填项。传输过程的编码02URL与URL编码RFC3986文档规定,URL中只允许包含英文字母(a~z、A~Z)、数字(0~9)、4个特殊字符(-、_、.、~),以及所有保留字符。在实际Web应用中,所使用的字符远不只这个范围,如用户输入的参数中可能还带有单引号、百分号、中文等。因此,需要对URL中的非允许字符进行编码。URL编码主体采用的是ASCII编码表,编码方式是用%(百分号)加上两位字符代表一个字节。例如,单引号在ASCII中的十六进制编码为27,在URL编码中就是%27。时间状态编码前HTTP://3/loginPage.jsp?name=测试&passwd=ww121%$编码后HTTP://3/loginPag.jsp?name=%E6%B5%8B%E8%AF%95&passwd=wwl21%25$对于中文字符,会先确认当前页面所用的编码格式。假设当前页面为UTF-8编码。可以看到,URL编码里针对参数“wwl21%$”中的“%”进行了编码,编码结果为“%25”。针对中文字符“测试”,URL编码为“%E6%85%8B%E8%AF%95”。查询“测试”字符的UTF-8编码,其十六进制编码就是“E6B58BE8AF95”字符编码十进制编码十六进制测15119755E6B58B试15249301E8AF95【试一试】根据上面的方法,尝试对“你好”进行URL编码,写出编码字符传输过程的编码02Base编码Base编码是一种将二进制数据转换为可打印字符的编码方式。它将二进制数据按照一定规则映射为一组字符,以便于传输和存储。Base编码常用于将二进制数据表示为文本形式,例如在URL中传递二进制数据或在数据库中存储二进制数据。常见Base编码方式有Base16、Base32、Base64。Base16编码也称为十六进制编码,将每个字节的高4位和低4位分别转换为一个可打印字符,使用16个字符(包括0-9和A-F)进行表示。常用于表示散列值、数字签名和其他需要可读性较高的二进制数据。Base32编码将5个字节的二进制数据转换为8个可打印字符,使用32个字符(包括大写字母和数字)进行表示。常用于在文件名、DNS记录和身份验证令牌中表示二进制数据。Base64编码将3个字节的二进制数据转换为4个可打印字符,使用64个字符(包括大小写字母、数字和特殊字符)进行表示。常用于在电子邮件、HTTP请求和XML文档中传输二进制数据。Base编码方式可打印字符:Base编码将二进制数据转换为可打印字符,方便传输和存储。容错性:Base编码可以处理部分数据丢失或错误,因为编码后的数据仍然可以被解码还原为原始的二进制数据。Base

温馨提示

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

评论

0/150

提交评论