HTML字符编码/HTML实体编码
Unicode编码
字符数字表示法
HTML允许使用Nuicode码点表示字符,浏览器会自动将码点转成对应的字符。
字符的码点表示法是:&#N(十进制,N代表码点)或者&#xN(十六进制,N代表码点)
a ---- a(十进制) ---- a(十六进制)
中 ---- 𠀓(十进制) ----中(十六进制)
<p>hello</p>
<!-- 等同于 -->
十进制
<p>hello</p>
<!-- 等同于 -->
十六进制
<p>hello</p>
可以使用CyberChef快速解析编码
浏览器本身不能使用码点表示,否则浏览器会认为这是要显示的内容,而不是标签。
比如<p>一旦写成<p>或者<p>,浏览器就不再认为这是标签了,而回当作文本内容捡起显示为<p>
字符的实体表示法
< : <
> : >
" : "
' : '
& : &
# : #
¥: ¥
$ : &dollor;
% : %
* : *
@ : @
^ : ^
空格 :
urlcode
在字符的十六进制前加百分号(%),用于浏览器的网址输入框
网址的组成部分
https://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2=value2#anchor
协议:http https ftp telnet
80 443 20 21 23
ssh 22
DNS 53
dhcp 67 68
http 80
pop3 110
https 443
ladp 389 域控制器
mysql 3306
sqlserver 1433 c#
oracle 1521
windows远程连接 3389
redis nosql 6379
url
主机:资源所在的网站名或者服务器的名字,又称域名。例如上述主机为www.example.com
request response 状态码 code
30x 重定向
例子:登录 login.html 输入账号密码正确 -> 网页index.html
301 302 303 304 307 308
200 访问成功
301 永久转移
302 临时
303
304
307和302一致
308
401 unauthorized 未授权
403 forbidden 权限不够
404 not fond
500 代码错误或者服务器配置错误
端口:一个端口代表一个服务,跟在域名后面,使用冒号分隔
如:www.example.com:80
路径:资源在网站的位置
如:www.example.com/index.html
查询参数:提供给服务器的额外信息。位置在路径后面两者使用?分割
如:key1=value1&key2=value2
锚点:是网页内部的定位点,使用#加上锚点名称,放在网址最后。锚点名称通过网页元素的id属性名命
如:#anchor
URL字符
!: %21
#: %23
$: %24
&: %26
': %27
(: %28
): %29
*: %2A
+: %2B
,: %2C
/: %2F
:: %3A
;: %3B
=: %3D
?: %3F
@: %40
[: %5B
]: %5D
绝对URL和相对URL
UTF-8
是Unicode的实现方式之一,,使用1~4个子接表示一个符号,根据不同的符号而变化字节的长度
编码规则
1、对于单字节的符号,子接的第一位设为0,后面7位为这个符号的Unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。
2、对于n字节的符号(n > 1),第一个子接的前n位都设为1,第n+1位设为0,后面子接的前两位一路设为10.剩下的没有提及的二进制位,全部为这个符号的Unicode码