世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。
- Get?Post?
在做网站开发时,大家经常会使用http的get与post方法,但是这两个method有什么区别呢?
在说区别之前,大家要明白一点,Get和Post都是基于Http协议的,所以本质上是一致的。
因此区别是哪里来的呢?
其实是来自于对格式的限制,即一种约定。是为了通过http协议来更好的实现不同的功能。就像咱们平时开发接口一样,相同的标准,但是有不同的实现。在实际使用时会根据需要,调用相应的实现类。
到底有什么区别呢?
1.Get请求参数是包含在URL中的,而Post请求数据是通过body传输的。
2.Get请求对发送内容有大小限制,但是post没有。
3.Get请求只接受Ascll编码,但是post没有限制。
4.Get请求只支持URL编码,而post支持多种编码方式。
5.Get请求会被浏览器缓存,但是Post不会。
6.Get和Post都是明文传输,但是Get直接将请求参数暴露在URL中,不适合传输敏感信息。
7.一般Get发送一次请求会生成一个TCP数据包,但是Post会生成两个,即header和body。具体实施是这样的:Get发请求时会将Header和参数一起发送过去;但是post会先发送header等服务器返回100以后继续发送body。