HTTP应用层协议:
概念:Hyper Text Transfer Protocol 超文本传输协议
传输协议:用了TCP/IP协议定义了,客户端和服务器端通信时,发送数据的格式
特点:
1.基于TCP/IP的高级协议
2.默认端口号:80备用端口:8080
3.基于请求/响应模型的:一次请求对应一次响应
4.无状态的:每次请求之间相互独立,不能交互数据
历史版本:
1.0:每一次请求响应都会建立新的连接
1.1:复用连接
请求消息数据格式
1.请求行
请求方式 请求url 请求协议/版本
GET /login.html HTTP/1.1
请求方式:
HTTP协议有7种请求方式,常用的有 2种
GET:
1.请求参数在请求行中,在url后。
2.请求的url长度有限制的
3.不太安全(参数就在url后)
POST:
1.请求参数在请求体
2.请求的url长度没有限制的
3.想对安全(通过抓包才可以看到)
2.请求头
请求头名称:请求头值
常见的请求头:
1.User-Agent:浏览器告诉服务器,我访问你使用的浏览器版本信息
可以在服务器端获取该头的信息,解决浏览器的兼容性问题
2.Referer:http://localhost:8080/liuxiaohui/error.jsp
告诉服务器,我(当前请求)从哪里来?
作用:
1.防盗链:
2.统计工作
3.请求空行
空行
4.请求体(正文)
封装POST请求消息的请求参数的
一个HTTP的操作称为一个事务,一个事务分为四个步骤:
1.客户机和服务器需要建立TCP连接
2.建立连接后,客户机会发送一个请求给服务器
请求的格式是统一资源定位符、协议版本号、MIME信息(请求修饰符、客户机信息以及可能的内容)
3.服务器接到请求以后给予相应的响应信息(一个状态行(协议版本号、一个成功或错误的代码)、一个MIME信息(包含了服务器的信息、实体信息以及一些可能的内容))
4.当客户端收到服务器所返回的信息,通过浏览器显示到用户的显示屏上
5.客户机与服务器断开连接
如果在这个过程恒当中,某一个步骤出现了错误,那么产生错误的信息将返回到客户端
请求报文:
URL(统一资源定位符)由四部分组成:Method、Host、Port、Path
http:// 域名:端口号(例80端口)/文件存放的具体位置
response message
用户输入超链接后,域名www.njau.edu.cn被提取出来,通过DNS服务解析到对应的IP地址,当得到IP地址之后双方就可以建立连接进行请求和响应信息的发送,浏览器接收到报文后检查完整性,如果完整则数据传输完成,TCP连接被释放