zoukankan      html  css  js  c++  java
  • 【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 };

     

  • 相关阅读:
    【已解决】github中git push origin master出错:error: failed to push some refs to
    好记心不如烂笔头,ssh登录 The authenticity of host 192.168.0.xxx can't be established. 的问题
    THINKPHP 5.0目录结构
    thinkphp5.0入口文件
    thinkphp5.0 生命周期
    thinkphp5.0 架构
    Django template
    Django queryset
    Django model
    Python unittest
  • 原文地址:https://www.cnblogs.com/xujingbo/p/4177218.html
Copyright © 2011-2022 走看看