HTTP:
概念:超文本传输协议
传输协议:定义了客户端和服务器端通信时,发送数据的格式
特点:1、基于TCP/IP的高级协议
2、默认端口号:80
3、基于请求/响应模型的:一次请求对应一次响应
4、无状态的:每次请求之间相互独立,不能进行数据交换
历史版本:1、1.0:每一次请求响应都会建立新的连接
2、1.1:复用连接,提高效率
请求消息:客户端发送给服务器端端数据
请求消息数据格式:
1、请求行
格式:请求方式 请求url 请求协议/版本
请求方式:HTTP协议中有7种请求方式,常用的有2种:GET,POST
2、请求头
格式:请求头名称:请求头值
常用的请求头:1、User-Agent:浏览器告诉服务器,使用的浏览器版本信息,解决浏览器兼容性问题
2、Referer:告诉服务器,我从哪来,可以用于防盗链和统计工作
3、请求空行
格式:空行,就是用于分隔POST请求的请求头和请求体的
4、请求体
封装POST请求消息的请求参数
响应消息:服务器发送给客户端的数据
响应消息数据格式:
1、响应行
格式:协议/版本 响应状态码 状态码描述
响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态,都是3位数字
分类:1XX:服务器接收客户端信息,但没有接收完成,等待一段时间后,发送1XX状态码
2XX:成功。代表:200
3XX:重定向。代表:302(重定向),304(访问缓存)
4XX:客户端错误。代表:404(请求路径没有对应的资源),405(请求方式没有对应的doXX方法)
5XX:服务器端错误。代表:500(服务器内部出现异常)
2、响应头
格式:头名称:值
常见的响应头:content-Type:服务器告诉客户端本性响应体数据格式以及编码格式
content-disposition:服务器告诉客户端以什么格式打开响应体数据
in-line:默认值,在当前页面内打开
attachment;filename=XXX:以附件形式打开响应体。文件下载
3、响应空行
4、响应体:真实的传输的数据