请求方法的本质
请求方法只是请求行中的第一个单词,它向服务器描述了客户端发出请求的类型,
在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产生两个数据包