HTTP协议
超文本传输协议(HyperText Transfer Protocol,HTTP):
一种无状态的,以请求/应答方式运行的协议,它使用可扩展的语义和自描述消息格式,与基于网络的超文本信息系统灵活的互动
HTTP报文格式
HTTP 协议的请求报文和响应报文的结构基本相同,由三大部分组成:
起始行(start line):描述请求或响应的基本信息
头部字段集合(header):使用 key-value 形式更详细地说明报文
消息正文(entity):实际传输的数据,它不一定是纯文本,可以是图片、视频 等二进制数据
1、请求报文
请求行:如 GET/HEAD/PUT/POST(请求格式) url (请求地址) version(http版本);
请求头:key value集合,常见的请求头Host、User-Agent、Referer、Cookie、Range、Accept等..;
请求体(消息正文):请求的数据,它不一定是纯文本,可以是图片、视频 等二进制数据。
2、响应行报文格式
响应行:status(状态码) description(对状态码的描述) version(http版本);
响应头:key value集合,常见的请求头Server、Set-Cookie、Last-Modified、Location、Refresh、Accept等..;
响应体(消息正文):响应内容,看返回的是什么。
HTTP请求过程
https://www.processon.com/view/link/607f9af21e08534f37336741
网络分层下看http请求过程
为了简化网络的复杂度,网络通信的不同方面被分解为多层次结构,每一层只与紧挨的上层或者下层进行交互,将网络分层,这样就可以修改,甚至替换某一层的软件,只要层与层之间的接口保持不变,就不会影响到其他层。
OSI( Open System Interconnection Reference Model): 开放系统互联参考模型
TCP/IP 协议族
https://www.processon.com/view/link/607f9af21e08534f37336741