JavaScript get为什么比post性能好,php/node都用一个东西接收post和get请求,怎么解释get比post性能好
问题
JavaScript get为什么比post性能好,php/node都用一个东西接收post和get请求,怎么解释get比post性能好
答案
所以如果你希望
-
请求中的URL可以被手动输入
-
请求中的URL可以被存在书签里,或者历史里,或者快速拨号里面,或者分享给别人。
-
请求中的URL是可以被搜索引擎收录的。
-
带云压缩的浏览器,比如Opera mini/Turbo 2, 只有GET才能在服务器端被预取的。
-
请求中的URL可以被缓存。
请使用GET.
HTTP请求方式
- get 从服务器获取
- post 向服务器发送
- 注册页面:用户填完信息,有很多的信息,我们把这些信息都获取到,然后通过Ajax中的POST请求,在请求主体中把这些信息都传递给后台服务器,服务器把这些信息存储到数据库中(“表单提交”)
- put 增加
- delete 删除
- head、options、trace、connection、track…
get系的特征(get、delete、head)
1、会把给服务器发送的数据放到url后面 ->http://matchweb.sports.qq.com/kbs/hotMatchList?callback=getHotMatchList&_=1456903174906
“?后面写的内容都是同过get请求传递给服务器的”
2、有大小限制
- 因为get系把数据都放到url里面,而浏览器会对url的长度有大小限制, 所以造成了get系对传输的数据大小有限制
- ie->2K
- firefox->7k
- chrome->8k
3、会被缓存(服务器和浏览器自带的缓存)
- 我们一般不用缓存,因为自带的缓存很多情况导致,第二次请求的内容一直和第一次一样,最新的内容请求不回来
- 如果想要快,我们做的所有的缓存都是自己单独用程序设计出来的而不是浏览器自带的缓存机制
4、不安全,因为明文发送
- 在浏览器的控制台中我们可以查看到URL后面的参数值,所以不安全
post系(post、put)
- 1、会把给服务器发送的数据放到请求主体里
- 2、不会有大小限制
- 因为post系把数据放到请求主体里,而请求主体是没有大小限制的
- 3、永远不会被缓存
- 4、相对于get系安全许多,因为不是明文发送
为什么get系会被缓存而post系不会被缓存?
1、因为get系设计的初衷是用来从服务器拉取数据的。含有两个特点:
- 数据可能很大,数据可能会重复。正因为有这两个特点,所以造成了get系会被缓存
- post系设计的初衷是往服务器发送数据的,所以不需要缓存
HEAD、DELETE这两个方法比较特殊:他们成功只返回202,不会返回200
更多面试题
如果你想了解更多的前端面试题,可以查看本站的WEB前端面试题 ,这里基本包涵了市场上的所有前端方面的面试题,也有一些大公司的面试图,可以让你面试更加顺利。
面试题 | ||
---|---|---|
HTML | CSS | JavaScript |
jQuery | Vue.js | React |
算法 | HTTP | Babel |
BootStrap | Electron | Gulp |
Node.js | 前端经验相关 | 前端综合 |
Webpack | 微信小程序 | - |
这些题库还在更新中,如果你有不错的面试题库欢迎分享给我,我整理后放上来;人人为我,我为人人,互帮互助,共同提高,祝大家都拿到心仪的Offer!