get和post

106 阅读1分钟

post和get本质上都是tcp链接,并无差别,但是由于http的限制和浏览器限制,导致他们在使用过程中会出现差别

  • post在浏览器中可以带请求体
  • get在浏览器中请求体为空,在node环境中可以发请求体

所以在浏览器中getpost的区别有

  • get可以通过url传递参数,post可以用urlrequest body传递参数
  • get请求可以缓存,post请求不能缓存
  • get可以进行url编码,post可以进行多种编码传输
  • get请求的参数会保存在浏览器的历史中,post不会
  • get的大小最多为2k,post没有限制
  • get只接收ASCII字符,post没有限制
  • 浏览器回退时get是无害的,post会再次发送请求
  • 在发送数据包时get会把header和data一起发送出去,然后服务端响应200,而post会先发header,服务端响应100,再发data,浏览器响应200