一、超文本传输协议HTTP主要特点
- 支持客户/服务器模式
- 简单快速
- 灵活
- 无连接
- 无状态
二、HTTP请求结构
三、请求/响应的步骤
- 客户端连接到Web服务器
- 发送HTTP请求
- 服务器接收请求并返回HTTP响应
- 释放连接TCP连接
- 客户端浏览器解析HTML内容
四、在浏览器地址栏键入URL,按下回车之后经历的流程
1.DNS解析:
首先浏览器会依据URL逐层查询DNS缓存,解析URL的域名所对应的ip地址,DNS缓存从近到远依次是:浏览器缓存、系统缓存、路由器缓存、ips服务器缓存、域名服务器缓存、顶级服务器缓存,从哪个缓存找到对应的ip直接返回,不再查询后面的缓存
2.TCP连接 (结合ip地址,与服务器进行三次握手)
3.发送HTTP请求
4.服务器处理请求并返回HTTP报文
5.浏览器解析渲染页面
6.连接结束(5 6两步可以理解为同时进行,连接结束结合四次挥手断开连接)
五、HTTP状态码
五种取值可能
1xx :指示信息 表示请求已接受,继续处理
2xx :成功 表示请求已被成功接收、理解、接受
3xx : 重定向 要完成请求必须进行更进一步的操作
4xx : 客户端错误 请求有语法错误或请求无法实现
5xx : 服务器端错误 服务器未能实现合法的请求
常见状态码:
六、GET和POST请求的区别
从三个层面来回答
1.Http报文层面:GET将请求信息放在URL,POST放在报文体中
GET将URL以?隔开,POST想获得报文信息必须解析报文
2.数据库层面:GET符合幂等性和安全性,POST不符合
3.其他层面:GET可以被缓存、被存储,而POST不行
七、Cookie和Session的区别
1.Cookie简介:
- 是由服务器端发送给客户端的特殊信息,以文本的形式存放在客户端
- 客户端再次请求的时候,会把Cookie回发
- 服务器接收后,会解析Cookie生成与客户端相对应的内容
2.Cookie的设置以及发送过程
3.Session简介
- 服务器端的机制,在服务器上保存的信息
- 解析客户端请求并操作 Session id,按需保存状态信息
4.Session的实现方式
1).使用Cookie来实现
2).使用URL回写来实现
5.区别:
Cookie | Session |
---|---|
Cookie数据存放在客户的浏览器上 | Session数据存放在服务器上 |
没有Session安全 | 安全 |
减轻服务器负担 | 不减轻服务器负担 |