前端和后台的关系

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Reagan_/article/details/84593785

最近初步学习了node js,在练习了一个注册登录页面的过程中,我思考了一些问题。

1.前端和后台,在一个web中分别承担了什么任务?
前端包括:静态页面的呈现、js功能的实现、以及向后台发送数据(通过ajax)。
后台:接收前端发送来的请求、判断是哪种请求,如果是文件请求发送文件回前端;如果是数据请求,处理数据,再返回给前台处理结果。

2.当浏览器输入网址后,前端和后台分别执行了什么操作?
浏览器将自动发送文件请求给后台,后台处理后将文件返回给前台,前端接收后,浏览器生成dom树、css树、js树,全部创建好之后开始渲染。静态界面加载完之后呈现给用户,用户进行注册登陆的操作,将操作数据(用户名、密码)发送给后台。

3.前端思维和后台思维(前端,页面为主体,一切围绕页面,后台以单个请求为单位)。
前端:是整体的思维,以整个页面的布局(dom、css)、作用(js)为主要思路进行自己的处理。
后台:以单个的请求为单位进行出来。主要做的是,前端来一个请求后台处理该请求然后做出响应,再来再处理响应,流程是固定的,差异体现在处理过程上。

4.前后端分离有什么好处?
使前端处理数据更简洁,不用对数据进行操作,直接接收处理好的就可以。

5.后台的异步和如何处理异步?

  • 在get和post两种发送数据的方法中,
    都有req.on(‘end’,function(){}),而
    get:get信息都在url里,信息一次性全部发完,不存在等待的状况,但req.on函数是在系统里默认的,所以(即使不在get里手动添加)仍然是执行的,但一次性发完了,所以不存在异步的情况,是同步的。
    post:post信息是大量的,在send(data)里面发送,需要等待data一段一段的全部发完,在等待req.on函数全部接收完信息之前,后面的代码就停在那里等待上面函数接受完,所以这时就产生了异步,会将接收的过程req.on放入序列中等待执行,后续代码继续加载。
  • 这样情况下的异步会导致什么问题呢?
    数据还未解析就使用,会导致数据为undefined。
  • 如何解决异步的问题呢?
    解决很简单,只需要将后续使用数据操作的代码放进req.on(‘end’,function(){})函数里就可以了。

猜你喜欢

转载自blog.csdn.net/Reagan_/article/details/84593785