【nodejs笔记4】搭建多人博客<内含http请求的get post方法区别>

功能分析

博客具有四个功能:注册  登录  登出  发表文章   

界面设计

未登录: 【主页  注册页  登录页】

  [主页] 

                                                       主页

       左侧 HOME                                这是主页

             LOGIN

             REGISTER

  [注册页]  “/reg”

                                                        注册

       左侧HOME                       用户名:________

             LOGIN                      密码:__________

             REGISTER                确认密码:_______

                                            邮箱:__________

                                            注册

  [登录页]  "/login"

                                                       登录

       左侧HOME                       用户名:________

             LOGIN                      密码:__________

             REGISTER                登录                                           

登录后:【主页   发表页】

  [主页]                              

                                        主页

      HOME

      POST

      LOGOUT

   [发表页]

                                       发表

    HOME            标题:

    POST             __________________

    LOGOUT           正文:

                        __________________

                        __________________

                        __________________

                        登录

   [登出]    按登出后,回到主页。

操作步骤

http 请求中,get()和post()方法的区别

一般我们在浏览器输入一个网址访问网站都是GET请求;

HTTP定义了与服务器交互的不同方法,其中最基本的四种:GET,POST,PUT,DELETE,HEAD,其中GET和HEAD被称为安全方法,因为使用GET和HEAD的HTTP请求不会产生什么动作。不会产生动作意味着GET和HEAD的HTTP请求不会在服务器上产生任何结果。但是安全方法并不是什么动作都不产生,这里的安全方法仅仅指不会修改服务端的信息。根据HTTP规范,POST可能会修改服务器上的资源的请求。比如CSDN的博客,用户提交一篇文章或者一个读者提交评论是通过POST请求来实现的,因为再提交文章或者评论提交后资源(即某个页面)不同了,或者说资源被修改了,这些便是“不安全方法”。

Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求
Get是获取信息,而不是修改信息,类似数据库查询功能一样,数据不会被修改
Get请求的参数会跟在url后进行传递,请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连,%XX中的XX为该符号以16进制表示的ASCII,如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密。
Get传输的数据有大小限制,因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了,不同的浏览器对URL的长度的限制是不同的。
GET请求的数据会被浏览器缓存起来,用户名和密码将明文出现在URL上,其他人可以查到历史浏览记录,数据不太安全。在服务器端,用Request.QueryString来获取Get方式提交来的数据
Post请求则作为http消息的实际内容发送给web服务器,数据放置在HTML Header内提交,Post没有限制提交的数据。Post比Get安全,当数据是中文或者不敏感的数据,则用get,因为使用get,参数会显示在地址,对于敏感数据和不是中文字符的数据,则用post
POST表示可能修改变服务器上的资源的请求,在服务器端,用Post方式提交的数据只能用Request.Form来获取

1. 路由规划

/

/login

/reg

/post

/logout

 2. 修改index.js 中的路由信息

 1 module.exports = function(app){
 2   app.get('/',function(req,res){
 3     res.render('index',{title: 'Express'});
 4   });
 5 
 6   app.get('/reg',function(req,res){
 7     res.render('index',{title: '注册'});
 8   });
 9   app.post('/reg',function(req,res){ });
10 
11   app.get('/login',function(req,res){
12     res.render{'index',title : '登录'}
13   });
14   app.post('/login',function(req,res){ });
15 
16   app.ger('/post',function(req,res){
17     res.render('index',{title:'发表文章'});
18   });
19   app.post('/post',function(req,res){ });
20 
21   app.get('/logout',function(req,res){ });
22 
23 };

 

原文地址:https://www.cnblogs.com/xujingbo/p/4177218.html