● get/post语义化来看,get方式属于向获取数据,post属于将数据交给服务端。
● get请求参数通常跟在url后面,post请求参数一般放在body中
● 因为浏览器对url长度有限制,所以get参数长度是存在限制的,一般整个url+参数应该在2kb内,而post参数放在body中,没有参数长度限制
● get请求参数放在url中,url是可见的,所以不适合包含敏感信息参数的请求,post参数放在body中,相较于get更加安全,但也不是绝对的,传输过程中如果是http的方式,那么二只都是明文传输,都不安全。
● get请求参数编码方式只允许ASCII,而post请求参数无编码限制。
● post请求会发送两次数据,先发送header,返回100,继续发送body(即post参数),get请求一般不会,只会发送一次数据。这里涉及到简单请求和非简单请求
● 简单请求与非简单请求判定方式:只要满足一下两个条件就是简单请求,反之非简单请求。至于为什么要区分简单与非简单请求,是因为简单请求其实本质都是Form表单提交时的请求,Form表单提交本身就不受跨域限制,不需要进行非简单请求的预检操作,所以向下兼容为了不对从前的表达请求进行预检判断,就将其分成简单请求与非简单请求,当然了,使用脚本模仿简单请求也不需要进行预检操作
○ 请求方式为GET/POST/HEAD其中一个
○ 请求头信息不超过以下几种字段
■ Accept
■ Accept-Language
■ Content-Language
■ Last-Event-ID
■ Content-Type(该字段仅限3个值)
● text/plain:数据内容以纯文本形式进行编码
● multipart/form-data:数据内容为表单数据
● application/x-www-form-urlencoded:数据内容为键值对形式(?key1=value1&key2=value2)
厉害,记得把post也说下