编码笔记整理

1、HTML实体编码

      数字表示法的不方便之处,在于必须知道每个字符的码点,很难记忆。为了能够快速输入,HTML 为一些特殊字符,规定了容易记忆的名字,允许通过名字来表示它们,这称为实体表示法。

    实体的写法是`&name;`,其中的`name`是字符的名字。下面是其中一些特殊字符,及其对应的实体。

- `<`:`&lt;` 
- `>`:`&gt;` 
- `"`:`&quot;`
- `'`:`&apos;`
- `&`:`&amp;`
- `©`:`&copy;`
- `#`:`&num;`
- `§`:`&sect;`
- `¥`:`&yen;`
- `$`:`&dollar;`
- `£`:`&pound;`
- `¢`:`&cent;`
- `%`:`&percnt;`
- `*`:`$ast;`
- `@`:`&commat;`
- `^`:`&Hat;`
- `±`:`&plusmn;`
- 空格:`&nbsp;`

     字符的数字表示法和实体表示法,都可以表示正常情况无法输入的字符,逃脱了浏览器的限制,所以英语里面称为“escape”,中文翻译为“字符的转义”。

2、urlcode

URL 的各个组成部分,只能使用以下这些字符。

- 26个英语字母(包括大写和小写)

- 10个阿拉伯数字

- 连词号(`-`)

- 句点(`.`)

- 下划线(`_`)

  绕过

    此外,还有18个字符属于 URL 的保留字符,只能在给定的位置出现。比如,查询参数的开头是问号(`?`),也就是说,问号只能出现查询参数的开头,出现在其他位置就是非法的,会导致网址解析错误。网址的其他部分如果要使用这些保留字符,必须使用它们的转义形式。

- `!`:%21
- `#`:%23
- `$`:%24
- `&`:%26
- `'`:%27
- `(`:%28
- `)`:%29
- `*`:%2A
- `+`:%2B
- `,`:%2C
- `/`:%2F
- `:`:%3A
- `;`:%3B
- `=`:%3D
- `?`:%3F
- `@`:%40
- `[`:%5B
- `]`:%5D

例子:

有一个网页的 URL 是`foo?bar.html`,即文件里面包含一个问号,那么需要写成`foo%3Fbar.html`

3、dns

DNS就是域名系统,是因特网中的一项核心服务,是用于实现域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,得到该主机名对应的IP地址的过程叫做域名解析。

根域:DNS域名使用中规定由尾部句点'.'来指定名称位于根或者更高层次的域层次结构。

顶级域:用来指示某个国家、地区或者组织。采用三个字符,如com -> 商业公司,edu -> 教育机构,net -> 网络公司,gov -> 非军事政府机构等等。

二级域:个人或者组织在Internet使用的注册名称。采用两个字符,如:cn -> 代表中国,jp -> 日本。

主机:主机名处于域名空间结构中的最底层,主机名和域名结合构成FQDN,主机名是FQDN最左端的部分。

过程:

1)当用户输入域名时,浏览器先检查自己的缓存中是否这个域名映射的ip地址。

2 )若没命中,则检查操作系统缓存(如Windows的hosts )中有没有解析过的结果。

3 )若无命中,则请求本地域名服务器解析( LDNS )。

4 )若LDNS没有命中就直接跳到根域名服务器请求解析。根域名服务器返回给LDNS一个主域名服务器地址。

5 )此时LDNS再发送请求给上一步返回的gTLD (通用顶级域),接受请求的gTLD查找并返回这个域名对应的Name Server的地址。

6 ) Name Server根据映射关系表找到目标ip,返回给LDNS。

7 ) LDNS缓存这个域名和对应的ip,把解析的结果返回给用户,用户根据TTL值缓存到本地系统缓存中。

DNS的记录类型:

 (1) `A`:地址记录(Address),返回域名指向的IP地址。

 (2) `NS`:域名服务器记录(Name Server),返回保存下一级域名信息的服务器地址。该记录只能设置为域名,不能设置为IP地址。

 (3)`MX`:邮件记录(Mail eXchange),返回接收电子邮件的服务器地址。

 (4)`CNAME`:规范名称记录(Canonical Name),返回另一个域名,即当前查询的域名是另一个域名的跳转。

 (5)`PTR`:逆向查询记录(Pointer Record),只用于从IP地址查询域名,

 

4、from表单

 html:


<html>
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        <form  action="./login.php" method="post">
            <input type="text" name="username" />
            <input type="password" name="password">
            <input type="submit" value="登陆"/>
        </form>
        
    </body>
</html>

php:

<?php
$username = $_POST['username'];
$password = $_POST['password'];
echo $username;
echo $password;

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值