分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

URL encoding(URL编码)

发布时间:2023-09-06 02:03责任编辑:白小东关键词:暂无标签

URL encoding(URL编码),也称作百分号编码(Percent-encoding),是指特定上下文的统一资源定位符(URL)编码机制
UrlEncode:将字符串以URL编码
返回值:字符串
函数种类:编码处理
编码原理:
将需要转码的字符转为16进制,然后从右到左,取4位(不足4位直接处理),每2位做一位,前面加上%,编码成%XY格式。
URL encode的实质就是正确的使用percent encode(百分号编码)
比如:中ASCII码是-10544,对应的16进制是FFFFFFFFFFFFD6D0,那么urlencode编码结果是:%D6%D0
目前编码原理:
在WWW最初时,做法是将字符流转换成字节流,按照ASCII字符与字节一一对应可相互转换,使用对应ASCII字符的整型值作为%的后两个16进制字符,构成percent编码。后来出现了多种percent编码生成方法,导致了URI的难以识别。
目前做法,指定或系统默认的使用UTF8转成字节流,每个字节编成一个percent编码,例如:中文“网易”的URL编码为%e7%bd%91%e6%98%93,而其UTF8字节流为e7 bd 91 e6 93,可以看出其一一对应关系

原则:在URI的构成字符中,最安全的方案是正确使用“保留字符” 和 “非保留字符”的并集
保留字符: 在URL中起到职能型的字符,比如 & ,? 。所以被URL规则给“保留”了。
保留字(Reserved):! * ‘ () ; : @ & = + $ , / ? # []
非保留字(Unreserved):0到9的数字 - _ . ~  a到z  A到Z

遵循原则:
1 不要对Unreserved(非保留字)做percent encode(百分号编码)
2 除了保留字和非保留字之外的所有字符,必须进行percent encode(百分号编码)
3 当保留字符不用于URL分隔符,而是用于其他的位置,比如query后面的value,要对这时用到的保留字做percent encode(百分号编码)

URL encoding(URL编码)

原文地址:https://www.cnblogs.com/kxm87/p/9276773.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved