HTTP位于哪一层?GET和POST有什么不同

TCP属于传输层,HTTP属于应用层,IP在网络层。
1、GET请求参数直接拼接在url后面例如:url?params1=value1¶m2=value2,POST请求的参数则是放到body体
2、浏览器会自动缓存GET请求,而POST不会自动缓存,除非手动设置
3、GET 请求在浏览器中可回退,而POST会再次请求
4、GET请求时只能通过url编码,而POST则可以支持多种编码格式
5、GET的请求参数可以被完整保存到历史记录中,而POST不会被保留
6、GET产生的url可以被bookmark,而POST不可以
7、GET可接受的参数类型为ASCII字符,而POST没有限制
8、GET在ulr中传送的参数有长度限制, 而POST没有限制
真正的区别:
GET请求只会产生一个TCP包,也就是说浏览器会把所有的请求数据(header和data)一起发出去,服务器响应200时成功
POST 请求“可能” 会产生两个TCP包,第一次浏览器会先发送header,服务器响应100后,再次发送data
也就是说GET只需一次就将货物送到,而POST 会先告诉服务器我要发送数据,然后再把数据送过去,所以在调用时间上POST要稍微慢一点

你可能感兴趣的:(Java基础)