GET和POST区别

196 阅读2分钟

请求方法的本质

请求方法只是请求行中的第一个单词,它向服务器描述了客户端发出请求的类型,

在HTTP中,不同请求方法只是包含了不同的语意,本质上是没有区别的,用的同一个传输层协议,

但浏览器和服务器一些约定俗成的行为造成了它们具体的区别

面试题,HTTP常见请求

1,GET请求,表示向服务器获取资源

2,POST请求,表示向服务器提交信息

3,PUT请求,希望修改服务器的数据

4,DELETE请求,表示希望删除服务器的数据

5,OPTIONS,发生在跨域的预检请求中,表示客户端向服务器申请跨域提交

6,TRACE,回显服务器收到的请求,主要用于测试和诊断

7,CONNECT,用于建立连接管道,通常在代理场景中使用,网页中很少用到

GET和POST区别

1,GET请求,没有请求体,只有请求行,但是POST有请求体,

2,GET请求,业务数据在请求行(地址栏参数)中,用?分隔,多个参数用&分隔,所以敏感数据不应该使用GET,至少不应该暴漏在Path中,POST请求,业务数据在请求体中

3,GET请求只能传递ASCII数据(英文,符号,数字),遇到非ASCII数据需要进行编码,POST请求没有限制

4,GET请求传递的数据有限,POST对传递数据大小没有限制

5,GET请求传递数据在地址栏中是明文的,POST请求数据是不可见的,所以更安全,但是对于开发者而言,也并不安全

6,GET产生一个TCP包,POST产生两个数据包