概念
超文本传输协议:HyperText Transfer Protocol
它数据的传输是由tcp协议进行
http协议是一种无状态的,以请求应答方式运行的协议,它使用可拓展的语意和自描述消息格式,与基于网络的超文本信息系统灵活互动.
无状态:本身不会存储用户的信息
可拓展的语意和字描述消息格式:可以添加自己的头部字段
**字描述消息格式:**比如可以是文本,图片,音频视频,
http报文格式
connection:keep-alive:长连接;可以包含在请求头,也可以包含在响应头
空行:一定是有的
消息正文在请求或者响应的时候都可以有,但是不是必须的
2.响应头
http头字段
头字段是用key-value的形式,key和value之间用":"分隔,最后用CRLF表示字段结束。比如前后分离时经常遇到的要与后端协商数据的类型“Content-type:application/json”,这里的key就是Content-type,value就是application/json.http头字段非常灵活,不仅可以使用标准里的Host,connection等已有头,也可以任意添加自定义,这就给HTTP协议带来了无限的扩展可能.
头字段注意事项
1.字段名不区分大小写,字段里不允许出现空格,可以使用连字符"-",但不能使用下划线""(有些服务器不会解析带"“的头字段).字段名后面必须紧接着”:",不能有空格,而":"后的字段值前可以有多个空格;
2.字段的顺序是没有意义的,可以任意排列不影响语义;
3.字段原则上不能重复,除非这个字段本身语义允许,例如Set-Cookie.
常用头字段
http协议中有非常多的头字段,但基本上可以分为四大类:
1.请求字段:请求头中的字段;如Host,Referer.
2.响应字段:响应头中的字段,如Server;
3.通用字段:在请求头和响应头都可以出现,如Content-type,Connection;