1:get请求是把请求的参数写在URL里面。post请求是把请求参数写在body(请求体)里面。
2:get请求的数据可以被浏览器缓存,也可以保存为书签,有浏览器历史记录。post请求浏览器一般不会缓存,也不可以保存为书签,没有浏览器历史记录。
3:get请求因为url长度有限制所以传输的参数比较小,post请求放在请求体所以传输的参数较大
4:get请求相对危险因为放在url里面所以可以肉眼看到,post请求相对安全因为放在请求体里面所以需要解码才能看到。不过因为http报文是明文传输,只要真的想看就能看。
5:get请求无副作用(不会破坏服务器上的资源,因为它执行的是只读操作),幂等(如果是相同的参数返回的页面都是一样的)。post请求有副作用,非幂等。(关于这一条我不是很能理解说实话,我现在明白了,get和post都是一种request请求,只是要根据做的事情不同让人一看就容易区分是那种不同的行为,规定这种行为就是这样,比如规定get请求就是不能破坏服务器的资源,但其实我们开发的时候也可以用get请求做出破坏服务器资源的事,post请求做不会破坏服务器资源的事,但这样做的话规则就乱套了。)