高频面试题: ajax中get请求和post请求方式的区别

        在说之前, 得了解一下什么是服务器, 什么有是客户端,前后端工作流程是什么?

什么是服务器?

        服务器简单的理解就是提供某种特别的服务的计算机, qq音乐就是一个音频服务器, 谷歌浏览器(前端开发神奇)就是一个web服务器, 腾讯视频就是一个视频服务器等等.

        服务器只有接受到了用户发送过来的请求才会去响应, 不然服务器是绝对不会有任何动作的.

什么是客服端?

        手机, 个人的电脑, 软件等等, 都可以成为一个客户端. 简单的来说就是享受服务器发送过来服务的一方就是客户端.

服务器和客户端又是怎样交互的?

        这里就把客户端叫做前端, 服务器叫做后端. 在aixos库还没出现的时候, 我们使用的都是原生的XMLHttpRequest来进行封装发送ajax到后端. 然后通过onload事件来处理服务器返回来的数据.

get请求方式和post请求方式的区别

相同点:

        都是用来向后台发送请求的, 都有请求行(请求方式和请求地址)和请求头(告诉服务器我传入的数据类型是什么).

不同点:

        传参方式不同:

                get请求数据是放入url后面使用"?"连接, 多个参数之间用"&"隔开. 在aixos中放入params对象传入.

                post请求数据是放入请求体中, 在aixos中放入data对象中传入. 其实post参数是可以放在url后面使用"?"连接的, 但是我们不会去只有做.

        请求数据大小不同:

                get请求传入数据是一次性传入的, 所以有参数的大小限制, 一般不超过2~5MB.

                post请求参数是分多次传入的, 一条数据被分成多个片段, 依次传入. 传输完毕之后, 浏览器会自动的将多个片段整合在一起.

        请求效率不同:

                get请求效率高, 因为是放到url后面一并传入处理, 所以效率要远远高于post请求.

                post请求效率低, 比如: 在网上下载一部电影, 一到一百的进度条是一点一点的前进的, 并不是一下子就下完的那种; 服务器会分片的传输给客户端, 最后整合一下.

        请求数据安全性不同:

                get请求安全性低, 传入的参数任何人都可以在location的地址栏中看见, 如:

        

                多个参数之间是使用"&"隔开的, 任何人都是可以看见的; 你难道想让你注册和登录的密码让任何人都看见吗

                post请求安全性高, 它的参数是被写在请求体中传入给后端的; 所以是不会显示在location地址栏中的. 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值