1.ASCII编码
ASCII (American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。
到目前为止共定义了128个字符,下面是对照表:
常见字母的ASCII码大小: “0”为 48“、A”为65、“a”为97,一般小写的字母如“a”比大写的“A”多32,方便记忆推算。汉字等不在表上的,也可以借助工具如 Jsons.cn转换。
2.URL与URL编码
URL(Uniform Resource Locator,统一资源定位器、定位地址,俗称网页地址,简称网址),是因特网上标准的资源地址,就是我们在网页输入的如https://blog.csdn.net/类似的地址
URL格式一般为:
[协议类型]://[用户名[:密码]]@[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
1.协议类型:常见的有http、https,还有ftp、file、mailto、data等。
2.用户名、密码:这没什么好解释的,就是字面意思。
3.服务器地址:有的时候你在URL上看到的是域名,其实会通过DNS转为IP地址,所以还是服务器IP地址。
4.端口号:常见80、443、21、22等。
5.资源层级文件路径:大部分会隐藏,就是服务器的目录路径,使用"/"区别每一层。
6.文件名:如访问网页,可能是xxx.htm、xxx.html、xxx.php等,例如,index.html。
7.查询:使用"&"连接
8.片段ID:有的时候被称为“锚点”,一般是指CSS中的id,就是使用浏览器调试时看到的id属性,有时也可通过这个进行XSS或sql注入。
9.其中[用户名[:密码]]、[端口号]、[查询]、[片段ID]都属于选填项。
3.URL编码
任何URL编码的字符都以%作为前缀,有时也称URL编码为百分号编码。
对于汉字,可以借助工具进行编码。
下面是常见的URL编码对照表:
4.Unicode编码
Unicode编码,又称万国码、国际码、统一码,是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。也是现在最流行的编码格式。Unicode 编码共有三种具体实现,分别为utf-8,utf-16,utf-32,其中utf-8占用一到四个字节,utf-16占用二或四个字节,utf-32占用四个字节。
UTF-8的特点是对不同范围的字符使用不同长度的编码。
UTF-16编码以16位无符号整数为单位。我们把Unicode编码记作U。前缀写为\u、%u。
UTF-32编码以32位无符号整数为单位。
Unicode编码与ASCII编码不兼容,但可以转换
一些常用的Unicode编码如下:
5.HTML编码
HTML编码是指将一些特殊字符转换为HTML实体,以便在HTML文档中正确显示。
HTML编码中常见的实体有以下几种:
<
:小于号(<) >
:大于号(>)
&
:和号(&) "
:引号(")
'
:撇号(')
:空格
©
:版权符号(©) ®
:注册商标符号(®)
¥
:人民币符号(¥) €
:欧元符号(€)
还有一些html编码如下图:
在HTML中使用实体编码可以避免一些特殊字符被浏览器解释成HTML标签或者其他特殊含义,从而保证网页的正确性和可靠性。
6.form表单
php方法提交复现
用html编写一个简单的form表单,提交地址为同级目录下的index.php,提交方式为post
编写一个index.php用于接收提交的数据
开启自己搭建的网站测试
点击提交后index.php会自动接收输入的用户名与密码
python Flask提交复现
首先得有flask包,没有可以添加或者控制台pip install flask
装好后编写代码,先单独建一个文件夹,用于存放web.py
运行代码会发现它监听的端口为5000
所以我们在test1.html提交地址改为http://127.0.0.1:5000/login
最后在测试
提交后会显示login successfull! 表示我们提交成功了
最后在pycharm会打印相应的username以及password信息