1.协议的组成
1)请求行(请求方法、http版本信息)
2)请求头
3)请求体
4)状态行(http版本、状态码)
5)响应头
6)响应体
2.请求的方法
1)get:获取资源
2)post:传输数据
3)put:上传文件,无验证机制
4)delete:删除文件,无验证机制
5)head:获取报文首部
6)options:查询支持的方法,返回get、post、head等
7)patch:对资源进行部分修改
8)connect:要求在与代理服务器通信时建立隧道,如SSL
9)trace:服务器会将通信路径返回给客户端
3.状态码
1)200正常请求
2)301永久重定向
3)302临时重定向
4)304自从上次请求后,请求的网页未修改过
5)400服务器不理解请求的语法
6)401鉴权失败
7)403服务器禁止请求
8)404服务器找不到请求的页面
9)500服务器错误
10)502网关错误
11)504网关超时
4.长连接和短连接
长连接:建立一次 TCP 连接就能进行多次 HTTP 通信
HTTP/1.1 开始默认长连接,如果要断开连接使用Connection : close
HTTP/1.1 之前默认短连接,如果需要使用长连接Connection : Keep-Alive
5.http和https的区别
1)http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
2)http和https使用的端口不一样,前者是80,后者是443
3)http免费,https收费
4)http传输更快,https传输更加耗时
6.get和post的区别
1)get参数只支持ASCII字符,post没有限制
2)post比get更安全
3)get请求的参数长度有限制
4)后退时,get无任何影响,post会再次提交
7.cookie的作用
HTTP/1.1 通过 Cache-Control 首部字段来控制缓存
1)会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)
2)个性化设置(如用户自定义设置、主题等)
3)浏览器行为跟踪(如跟踪分析用户行为等)
8.cookie和session的区别
1)cookie保存在本地,session保存在服务器
2)cookie不安全,可以更改,session更安全
3)cookie可以减缓服务器压力,session过多会消耗服务器资源
4)cookie只能存储 ASCII 码字符串,session则可以存储任何类型的数据
9.输入一个url发生了什么
1)通过dns查找该域名的 IP 地址
2)建立TCP连接
3)客户端发起http请求
4)服务器响应http请求,浏览器得到http请求的内容
5)浏览器解码html代码,并请求代码中的资源
6)浏览器渲染页面展示