简介:
超文本传输协议,规定浏览器和服务器之间数据传输的规则,也就指的是请求数据和相应数据的格式
特点:
基于TCP协议,面向连接,使用三次握手协议,安全。
基于请求-响应模型:一次请求一次响应
HTTP协议是没有状态的协议:对于事务没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
每次请求-响应都是独立的。
缺点:多次请求之间不能共享数据。Java使用会话技术(cookie和session)来解决
优点:速度快
请求数据格式:
1.请求行:请求数据的第一行,get表示请求方式,其次是请求资源路径,然后HTTP/1.1是协议版本
2.请求头:第二行开始,格式为key-value形式。
3.请求体:POST请求的最后一部分,存放请求参数,
谷歌浏览器就会在最后一行存放请求参数:
GET请求和POST请求的一些差别:
首先GET请求的请求参数放在了请求行里面也就是url里面,正因为这样所有有长度限制,
post放在请求体
其次get请求的请求参数有大小,post没有
响应数据格式:
1.响应行:响应数据的第一行,HTTP/1.1协议版本 302是状态吗
2.响应头:第二行开始为key-value形式的数据
location:请求资源位置
Content-Language:文本语言
Content-Length文本长度
Date:发送请求的时间
其他常见响应头
3.响应体:最后一行 存放响应数据
我用的火狐查看响应体直接查看响应就行了
参考:Bilibili黑马JavaWeb视频,百度百科HTTP