29

HTML历史

​ 最早的通用标记语言是在20世纪60年由IBM公司开发的 GML (Generalized Markup Language 通用标记语言),它用可供机器读取识别的指令作为文档的标识符,来明确表示那些是文档的头部,那些是列表项目等等。

​ 在此后经过20多年的发展逐渐演变成 SGML (Standard Generalized Markup Language 标准通用标记语言),它把 GML 原来基于冒号和句号的语法改变成了我们现在熟悉的尖括号格式语法。

​ 而 SGML 就是 HTML (HyperText Markup Language 超文本标记语言)的前身,在经历 10 年后 HTML 便诞生了,随后根据 HTML 开发了 HTTP 协议(HyperText Transfer Protocol 超文本传输协议)。

一切从 URL 开始

URL (Uniform Resoure Locator ) 统一资源定位器

URL 的结构

  • 协议名称
  • 层级URL的标记符号(固定不变)
  • 访问资源需要的凭证信息(可选项)
  • 从那个服务器获取的数据
  • 需要连接的端口号(可选项)
  • 指向资源的层级(文件路径)
  • 查询字符串(参数,[可选项])
  • 片段ID(可选项)

image-20210129004909099

协议名称

例如:http、https、ftp等几十项都是协议名称,并且:结尾。http:

层级 URL 的标记符号

使用固定字符串//

访问资源的身份验证

URL 里身份验证的部分属于可选项,在向服务器端获取数据时有可能需要该位置指定一个用户名或密码。

服务器地址

对完整的层级 URL 来说,服务器地址部分必须指定一个不区分大小写的域名和一个IPV4的IP。

服务器端口

服务器端口部分是可选的,通常服务器连接的网络端口不是常用的标准端口时才会用到此部分。

层级文件路径

URL 的下一个组成部分叫层级文件路径,用来获取服务器指定资源的方式。

查询字符串

可选项,用于把一串非层级格式的任意参数传递给前面路径所对面的资源 (把用户提供的信息传递给服务器端的脚本)

片段 ID

片段 ID 在浏览器在浏览器中指向HTML某个锚点名称,用于页面浏览的定位。

整合资源

PS:懒得手敲。垃圾 WPS 不能复制,还要花钱。(穷是原罪)

image-20210129010402801

image-20210129010419943

image-20210129010437898

image-20210129010449225

保留字符和百分号编码

由于某些字符和百分号编码可能需要用到,所以RFC未禁用也未规定详细用法,所以会经常见到%2F、%00等字符,或者在测试中利用这些字符进行攻击等。(个人大概这样理解)