一.Web基础
1.域名概述
2.域名结构
主机名.子域【.二级域.】.顶级域.
3.域名解析
在本机的hosts定义,在DNS解析
DNS解析过程(客户端>本地缓存域名服务器>根域名服务器>顶级域名服务器>二级域/子域名服务器>根据主机名解析IP)
4.html文件概述
4.1 html概述
html叫做超文本标记语言,是一种规范,也是一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的各个内容。
html文件可以使用任何能够生成txt文件的文本编辑器来编辑,生成超文本标记语言文件,只用修改文件名后缀为”.html”或“.htm”即可。
4.2 html基本标签
html语法规则
html标签采用双标记符的形式,前后标记符对应,分别表示标记开始和结束,标记符中间的内容
被标签描述。前标记符由“XXX”表示,结尾标记符多了一个“/”,由“/XXX”表示。
html文章结构
html文件最外层由html/html表示,说明该文件是用html语言描述的。在它里面是并列的头
标签(head)和内容标签(body)
最基本的html文件结构如下
html
head网页的内容描述信息/head
body网页显示的内容/body
/html
5. 静态网页与动态网页
5.1 静态网页
- 就是标准的html网页,网页文件后缀通常是 .html .htm .shtml 等
- 没有后台数据库支持
- 不包含任何应用程序
- 网页不可交互
- URL网页路径中不含有 ?
5.2 动态网页
- 有后台数据库支持
- 网页可交互
- 也可以自动更新
- 网页内容会包含用php java python等高级编程语言编写的应用程序
- URL网页路径中会含有标志性符号 ?(用于参数)
二. HTTP协议
1. HTTP协议概述
HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、 协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态 行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上服务器信息、实体元信息以 及可能的实体内容
2. HTTP协议版本
http 1.0
开始支持传输http头部信息(http协议版本,状态码等);只支持短连接(在一个TCP连接中只能 完成一次http请求和响应过程)
http 1.1
支持长连接(连接保持,持久连接)和管道机制,即支持在一个TCP连接中可完成多次http请求和 响应,且要求按照顺序一一对应
http 2.0
支持二进制传输;支持长连接和完全多路复用,即支持在一个TCP连接中可完成多次http请求和响 应,且不用按照顺序一一对应;还支持网页头部压缩和允许服务端主动推送
http 3.0
基于UDP协议实现,具有更高的传输效率
3. HTTP请求方法
| GET | 发送查询资源请求,用于查询、读取或下载资源 |
| PUT | 向服务器提交数据,用于修改资源 |
| POST | 向服务器提交数据,用于添加资源 |
| DELETE | 用于删除资源 |
| HEAD | 用于查询网页的头部信息和元数据 |
4. HTTP响应状态码
正常响应
2xx(正常) 3xx(重定向)
异常响应
4xx(客户端请求错误) 5xx(服务端响应异常)
| 200 | 一切正常 |
| 301 | 永久重定向 |
| 302 | 临时重定向 |
| 401 | 账号/密码验证错误 |
| 404 | 服务器找不到请求的网页 |
| 500 | 服务器遇到错误,无法完成请求 |
| 502 | 服务器作为网关或代理,从上游服务器收到无效响应 |
| 503 | 服务不可用,代表服务器可能已过载或正在维护/宕机导致的 |
| 504 | 服务器作为网关或代理,但是没有及时从上游服务器收到请求 |
5. HTTP请求流程
5.1 HTTP请求报文
请求行:包含请求方法、请求的URL文件路径、HTTP协议版本
请求头:键值对类型的信息
请求体:包含向服务器提交的数据
常见请求头
| HOST | 接受请求服务器的地址,可以是IP:端口号,也可以是域名 |
| User-Agent | 发送请求的应用程序名称 |
| Connection | 指定与连接相关的属性,如Connetction:Keep-Alive |
| Accept-Charset | 通知服务端可以发送的编码格式 |
| Accept-Encoding | 通知服务端可以发送的数据压缩格式 |
| Accept-Language | 通知服务端可以发送的语言 |
5.2 HTTP响应报文
相应行/状态行:包含HTTP协议版本、响应状态及描述
响应头:键值对类型的信息
响应体:包含服务器返回的网页数据
常见响应头
| Server | 服务器应用程序软件的名称和版本 |
| Content-Type | 响应正文的类型 |
| Content-Length | 响应正文长度 |
| Content-Charset | 响应正文使用的编码 |
| Content-Encoding | 响应正文使用的数据压缩格式 |
| Content-Language | 响应正文使用的语言 |