什么是http
超文本传输控制协议,应用层协议,定义了浏览器(也可以是别的程序)与web服务器之间通讯的过程与数据格式
HTTP是一个基于TCP/IP通信协议来传递数据
通讯的过程
1)浏览器向服务器发送建立连接的请求。
2) 浏览器先将请求数据打包,向服务器发送请求。
3) 服务器处理完请求,然后将数据打包,发送给浏览器。
4) 服务器发送完数据,并闭连接。
数据包结构
1: 请求行(数据包中的一行内容)
包含:
请求方式(get/post)
请求资源路径(主要是端口号以后的内容,比如/appname/servlet)
协议版本
2:若干消息头(消息头是由 w3c 定义的一些有特殊含义的键值对)
消息头的样式,比如: content-type= text/html;
服务器和浏览器都会遵守这些消息头的约定。
消息头一般由服务器戒者浏览器自劢生成,但是也可以通过编程的方式生成
3:实体内容
如果请求方式是 post 方式,请求参数及值会放在这儿。
如果请求方式是 get 方式,请求参数不值是包含在请求资源路径里面。
![](https://i-blog.csdnimg.cn/blog_migrate/4ee67c65d2e461d4f5b067a1da28876d.png)
响应数据包结构:
第一部分: 状态行
协议的类型不版本
状态码(状态码是一个数字,不同的数字代表不同的状态
第二部分: 若干消息头
第三部分: 实体内容
服务器返回给浏览器的处理结果