一、HTTP协议介绍
http 应用层协议
超文本传输协议
作用:
构建网站服务器
在客户端和网站服务器传输文本数据,浏览器会将文本数据解析成对应的图片、视频进行展示
1、网站类型
静态网页
任何客户端在任何时候访问时看到的数据是一致的
*.html
开发语言:
html,js,jquery
动态网页
一段程序代码,根据用户传递的参数不同展示不同的结果
开发语言:
php *.php
java *.jsp
2、cookie/session
作用:识别客户端的身份,是否为一个已登录的客户端
cookie工作机制:
客户端首次发送用户名、密码,服务器识别用户密码正确后,会产生随机数,将随机数放到响应数据中返回给客户端
客户端会将随机数保存到浏览器中,下次再发请求时,会带有随机数
session工作机制:
客户端首次发送用户名、密码,服务器识别用户密码正确后,会在本地产生记录客户端登录的信息
cookie与session的区别:
1、cookie由服务器生成,保存到客户端
2、session由服务器生成,保存在服务器本地
二、HTTP协议特性
1、http/0.9
传输文本数据
2、http/1.0
1、引入MIME机制
传输非文本数据(图片、视频、音频、动画)
2、缓存机制
提升访问效率
将客户端经常访问的资源缓存到内存中,尽可能地减少与硬盘交互
服务器端缓存
客户端缓存
3、http/1.1
1、长连接机制 keepalive
http 无状态的协议
在一条连接上可以发送多个请求
限制因素:
1)每个长连接的超时时间
2)每个长连接可以支持的发送的最大请求数
2、管道机制
支持同时发送多个请求,但是相应数据还是串行的
3、增强对缓存机制的管理
静态数据
缓存数据的过期时间
4、http/2.2
在管道机制上,同时可以发送多个请求、响应
三、HTTP协议的状态码
2xx:成功响应
200
3xx:成功响应
301:永久重定向
302:临时重定向
4xx:错误
403:权限拒绝
404:文件找不到,路径错误
5xx:错误
502,503:服务端配置有错误
四、HTTP协议的请求方法
GET:查看获取网页内容
POST:上传数据
HEAD:获取http相应数据的首部信息
curl -I 获取头部信息
https://i-blog.csdnimg.cn/direct/27f29a1b87f64986b2af9e2419a9fcd1.png" width="921" />
https://i-blog.csdnimg.cn/direct/2c839ca43e8f46d6be5652749b01405e.png" width="975" />