get和post在HTTP中都代表着请求数据,其中get请求相对来说更简单、快速,效率高些。

get对于请求数据和静态资源(HTML页面和图片),在低版本浏览器下都会缓存。高版本浏览器只缓存静态资源,不缓存数据

post从服务器端推送数据(给的多,拿得少),而get是从服务器获取数据(给的少,拿得多)

post请求包含跟多的请求头,所以速度没有get快

post在真正接受数据之前会先将请求头发送给服务器进行确认,然后才真正发送数据

get请求方式

btn.onclick = function(){
let xhr = new XMLHttpRequest;
xhr.open('get','/get?ren='+encodeURI(txt.value),true);//
// 其中url里面get是后端给的,?后面user是前后端定义的(或者后端提供)
xhr.onload = function(){
console.log(xhr.responseText);
}
xhr.send();
}

post请求方式

btn.onclick = function(){
let xhr = new XMLHttpRequest;
xhr.open('post','/post',true);
//设置头信息
xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xhr.onload = function(){
console.log(JSON.parse(xhr.responseText));
}
xhr.send('user'+txt.value);
}

两者区别

1、get比post速度块

2、get相对post安全性低

3、get有缓存,post没有

4、get的url参数可见,post不可见

5、get请求参数会保留历史记录,post中参数不会保留

6、get请求数据放在url,post数据在http包体(requrest body)内

7、get只接受ASCII字符的参数数据类型,post没有限制

8、get会被浏览器主动catch,post不会,需要手动设置

9、get在浏览器回退时无害,post会再次提交请求

10、get体积小(url字节长度每个浏览器不一样),post可以无限大(根据php.ini 配置文件设定)

简述get与post区别的更多相关文章

  1. swift-01-简述swift与OC区别

    swift语言 Swift是Apple在WWDC2014所发布的一门编程语言,用来撰写OS X和iOS应用程序[1].在设计Swift时.就有意和Objective-C共存,Objective-C是A ...

  2. 简述ref与out区别

    1.相同点:两者都是按地址(引用)传递的,使用后都将改变原来参数的数值. 2.区别:ref可以把参数的数值传递进函数,但是out是要把参数清空(声明时不必显示初始化),就是说你无法把一个数值从out传 ...

  3. 简述CGI与FASTCGI区别

    CGI和FASTCGI都是服务器端与客户端进行交互的常见方式. CGI处理客户端请求,会生成一个子进程来专门调用外部程序来处理客户端请求,处理完成,子进程会随之关闭 FAST处理客户端请求时.服务器端 ...

  4. Core Java 总结(字符和字符串类问题)

    所有代码均在本地编译运行测试,环境为 Windows7 32位机器 + eclipse Mars.2 Release (4.5.2) 2016-10-17 整理 字符,字符串类问题 正则表达式问题 J ...

  5. 2016年Web前端面试题目

    以下是收集一些面试中经常会遇到的经典面试题以及自己面试过程中无法解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识,如有错误或更好的答案,欢迎指正.:) HTML/CSS部分 1. ...

  6. Web前端面试题目及答案汇总

    HTML/CSS部分 1.什么是盒子模型? 在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边 ...

  7. Web前端面试题目汇总

    以下是收集一些面试中经常会遇到的经典面试题以及自己面试过程中有一些未解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识,如有错误或更好的答案,欢迎指正,水平有限,望各位不吝指教.: ...

  8. 2016年Web前端面试题目汇总

    转载: 2016年Web前端面试题目汇总 以下是收集一些面试中经常会遇到的经典面试题以及自己面试过程中未解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识,如有错误或更好的答案,欢 ...

  9. HYML / CSS和Javascript 部分

    1  CSS实现垂直水平居中 HTML结构: <div class="wrapper"> <div class="content">&l ...

随机推荐

  1. [书摘]Windows内存管理术语

    1. Virtual Address space 虚拟地址空间 一个应用程序能够访问的最大的内存地址空间, 32位的机器上面最大的就是4GB 但是 并不是所有的内存都放到主存里面, 可能放到pagef ...

  2. C++ 类的静态成员变量及静态成员函数

    ps:下面所说 成员=成员变量+成员函数: 作用 由于对象与对象之间的成员变量是相互独立的.所以要想共用数据,则需要使用静态成员和静态函数. 空间分配 静态成员是在程序编译时分配空间,而在程序结束时释 ...

  3. poj 1904(强连通分量+输入输出外挂)

    题目链接:http://poj.org/problem?id=1904 题意:有n个王子,每个王子都有k个喜欢的妹子,每个王子只能和喜欢的妹子结婚,大臣给出一个匹配表,每个王子都和一个妹子结婚,但是国 ...

  4. Guava的RateLimiter在单机限流中的正确用法

    错误使用 在实现限流时,网上的各种文章基本都会提到Guava的RateLimiter,用于实现单机的限流,并给出类似的代码: public void method() { RateLimiter ra ...

  5. java中线程安全和非线程安全的集合

    线程安全 非线程安全 Collection Vector ArrayList.LinkedList HashSet.TreeSet Map HashTable HashMap.TreeMap 字符串 ...

  6. Django-website 程序案例系列-12 CSRF

    django为用户实现防止跨站请求伪造的功能 需要配置settings.py:  django.middleware.csrf.CsrfViewMiddleware 1. form表单提交 <f ...

  7. Django-website 程序案例系列-8 html模板文件详解

    主模板:master.html <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  8. Network POJ - 3694(lca并查集+连通图求桥)

    就是求出原先图中的桥的数量,在每一次询问时加入一条新边,求加入当前边后图中剩余的桥的数量 求出原先图中的桥的数量,然后减去新加入边的两端点之间的桥的数量,就是剩余桥的数量.. 用并查集把属于同一集合的 ...

  9. bzoj 2120 数颜色 (带修莫队)

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2120 题意:两种操作:Q 询问区间  l - r  内颜色的种类 ,R 单点修改 思路 ...

  10. mysql case when 判断null

    select  name,case WHEN m.NAME is null THEN '' else m.NAME end NAME1 from  sys_users