明显区别:
- get的请求参数在url后面,也就是request header里面,post请求参数在request body里面。
- 因为浏览器对url有长度限制(一般为2k),所以get提交的请求有长度限制,而post请求理论上没有长度限制。实际上,IIS4为80k,IIS5为100k
- get请求会在浏览器里缓存,所以get在浏览器中回退是无害的。而post请求在回退时进行二次提交。
- get请求的参数只接受ASII字符,而post无限制
本质区别:
- Get请求产生一个TCP数据包,把header和data一起发送,浏览器响应200 ok并返回请求数据,浏览器只响应一次。
- Post请求产生两个TCP数据包,先发送header,浏览器响应100 continue,然后发送data,浏览器响应200 ok并返回请求数据。
HTTP请求报文和响应报文格式
1.请求报文格式
2.响应报文格式