Web前端后端傻傻分不清,

1.

Web前端后端傻傻分不清

原创 2016年12月25日 19:50:08

  • 7178
  • 0
  • 2

前言

??做C开发将近六年,基本上没有接触过web相关的东西,原来听别人说web相关的东西的时候也是分不太清楚到底哪个是前端哪个是后台,前端和后台又是怎么配合着工作的?经过各方法搜索,很多类似的疑问终于得以弄明白。 
??使用html、Javascript写的是Web前端,它不用向服务器(比如apache、nginx、tomcat等)交互在浏览器端就执行完了,比如使用Javascript弹出一个警告框的效果。而php、Python等是后台语言,当通过浏览器向服务器发送访问php文件的请求时(比如:http://localhost:63342/php_basic/helloworld.php),由web服务器收到请求,发现是php代码则交给php解析器完成解析,然后发回给web服务器,最后返回给浏览器。 
??本文章将简单介绍前端和后台的工作流程,以及get和post方式的使用。

示例代码

??下面结合代码演示前端和后台配合工作流程。

GET方式

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <meta charset="utf-8" />
    <script type="text/javascript" src="process.php"></script>
    <script>
        function InputCheck(){
            var user = document.getElementById("user");
            if(user.value==""){
                alert("用户名为空!");
                return false;
            }
            var pwd = document.getElementById("password");
            if(pwd.value==""){
                alert("密码不能为空!")
                return false;
            }
        }
    </script>
</head>

<body>
    <form name="myform" method="get" action="process.php">
        <label for="user">用户名</label>
        <input type="text" id="user" name="user" value="user">
        <br />
        <label for="password">密码</label>
        <input type="password" id="password" name="password" value="password">
        <br />
        <input type="submit" id="submit" name="submit" value="提交" onclick="return InputCheck()">
    </form>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

??From的method定义了提交方式为get,在点击“提交”按钮时就会把数据传给后台,点击的时候会调用javascript函数InputCheck()检查输入框是否为空,如果为空就跳出警告框,后续不再往服务端发送消息。 
??当两个输入框都有内容时,点击“提交”按钮就会把数据传到后台,而具体执行哪个php是由Form中的action指定的,这里指定的是process.php,process.php代码如下显示。

<?php
/**
 * Created by PhpStorm.
 * User: sweird
 * Date: 2016/10/10
 * Time: 22:18
 */
header("Content-Type:text/html;charset=utf-8");//支持中文
$user=$_GET["user"];
$pwd=$_GET["password"];
echo "这是从web服务器返回的消息,已经经过php处理的!<br />";
echo "您提交的用户名是:",$user,"<br />";
echo "您提交的密码是:",$pwd;
?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

??下面看下运行效果,本次使用phpstorm开发,代码写完后点击右上角的火狐浏览器图标。 

??此时跳到火狐浏览器中,按F12打开调试窗口并切换到网络界面。 

??然后清除掉用户名输入框中的内容,再点击“提交”,此时就触发了javascript代码跳出一个警告窗口,并且发现在“网络”界面的调试窗口并没有数据,说明此时没有向服务端发送数据,而是在前端就进行了js检验。 

??然后在“用户名”输入框中输入数据,点击提交。 
 
??此时在地址栏中发现已经执行了process.php,并且显示出了用户名和密码,而在浏览器中显示的数据正是后台PHP代码打印出来的,至此前端和后台的操作已演示完毕。 

POST方式

??下面再来看下使用post方法时php是如何获取前端发送的数据的? 
??从上面使用get方法可以看到,如何要向服务端提交类似密码这样的敏感信息时,那么是非常不保密的,因为在URL中就显示了密码,那么此时最好的办法就是用post方式向后台提交数据,post不会显式的输出密码,但如果打开调试窗口照样是可以看到密码的。 
??但是使用POST时需要把相关的php代码放到wamp的www目录,否则会出现如下错误提示: 

??把php挪到如下目录,再确保服务器正常启动: 
 
??然后在浏览器中手动输入:http://localhost/post_demon.php 
 
??再点“提交”就出现如下成功的界面: 

相关代码

post_demon.php代码如下

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <meta charset="utf-8" />
    <script type="text/javascript" src="process_post_data.php"></script>
</head>
<body>
<form name="myform" method="post" action="process_post_data.php">
    <label for="user">用户名</label>
    <input type="text" id="user" name="user" value="user">
    <br />
    <label for="password">密码</label>
    <input type="password" id="password" name="password" value="password">
    <br />
    <input type="submit" id="submit" name="submit" value="提交" onclick="return InputCheck()">
</form>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

process_post_data.php代码如下:

<?php
/**
 * Created by PhpStorm.
 * User: sweird
 * Date: 2016/10/13
 * Time: 21:30
 */
header("Content-Type:text/html;charset=utf-8");
$name=$_POST["user"];
$pwd=$_POST["password"];
echo "这是从web服务器返回的消息,已经经过php处理的!<br />";
echo "您提交的用户名是:",$name,"<br />";
echo "您提交的密码是:",$pwd;
?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

版权声明:本文为博主原创文章,可自由转载,转载请注明出处:http://blog.csdn.net/rosetta举报

时间: 2024-10-24 07:06:21

Web前端后端傻傻分不清,的相关文章

Web前端/后端

Web前端: 1)精通HTML,能够书写语义合理,结构清晰,易维护的HTML结构. 2)精通CSS,能够还原视觉设计,并兼容业界承认的主流浏览器. 3)熟悉JavaScript,了解ECMAScript基础内容,掌握1~2种js框架,如JQuery 4)对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案. 5)对性能有一定的要求,了解yahoo的性能优化建议,并可以在项目中有效实施. 6)......     Web后端: 1)精通jsp,servlet,java bean,JMS,EJB,

谈一谈让人傻傻分不清的1G,2G,3G,4G……

浅谈让人傻傻分不清的1G,2G,3G,4G-- 虽然大学里学过计算机网络,平时也总是看网上不停的喷着1G,2G,3G,4G到底是啥,但总觉得隔靴搔痒,看不出其本质区别,我不想详解其中的又臭又长的关键技术,就从大家能看明白的概念上说一说这些不同代网络技术的区别. 先从概念和区别说起 1G:没啥好说的,估计是有了后来的2.3G,才想起称呼原来的为1G.1G采用FDMA(模拟和频分多址技术),可实现区域的移动性服务,代表是第一代模拟制式手机,大哥大,通话锁定在一定频率,使用可调频电台就可以窃听电话,保

[转帖]十分钟快速理解DPI和PPI,不再傻傻分不清!

十分钟快速理解DPI和PPI,不再傻傻分不清! https://baijiahao.baidu.com/s?id=1605834796518990333&wfr=spider&for=pc关于UX测试相关的: 之前一直搞的不是很清楚 这个百家号的解释挺好的 简单转帖一下 以后仔细研究,  设计师充电站 18-07-1308:58 72DPI的图片拿去打印会糊吗?手机拍出来的照片是多少DPI?PS里显示72PPI为什么另存为JPG就变成96DPI了? 类似的问题层出不穷.本站很多篇文章都讲到

OCA,OCP,OCM傻傻分不清?

可能大家知道OCA.OCP.OCM的关系是一个比一个难考,一个比一个含金量高,但是你知道具体的考试科目.考试方式.就业形势区别吗?不知道的话这篇通俗易懂的文章会让你一目了然. 区别一:含金量 ■OCA:数据库专业人员踏上Oracle数据库认证之途的第一步 表示具备Oracle数据库管理的基础知识. ■OCP:数据库专业人员掌握Oracle专项技术的行业认可证明,证明持证者能够以最高效的方式建立和管理关键的Oracle数据库功能. ■OCM:针对在Oracle技术领域拥有多年实践经验,并且经过高级

ERP系统和MES系统,不要傻傻分不清

公司说最近要上一套erp系统,说让我比较一下,erp系统哪个好,还有mes系统,我们适合上哪个系统,其实我还真的不太懂,刚接触erp跟mes的时候,对于两者的概念总是傻傻分不清楚,总是觉得既然都是为企业的信息化做贡献,那区别又是在哪儿呢? 然后经过一系列的搜索,现在终于有了一些概念了. 好吧,细细说来,ERP系统以供应链管理为核心,以销售部门和采购部门为信息源头,以设备.人力等其它系统为基础,使信息流在ERP内部得到有效的传递和集成. 产线上的数据采集,产品在生产流程中的数据跟踪等这部分属于ME

傻傻分不清之 Cookie、Session、Token、JWT

傻傻分不清之 Cookie.Session.Token.JWT 什么是认证(Authentication) 通俗地讲就是验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功) 互联网中的认证: 用户名密码登录 邮箱发送登录链接 手机号接收验证码 只要你能收到邮箱/验证码,就默认你是账号的主人 什么是授权(Authorization) 用户授予第三方应用访问该用户某些资源的权限 你在安装手机应用的时候,APP 会询问是

web前端开发和后端开发有什么区别?

web前端分为网页设计师.网页美工.web前端开发工程师 首先网页设计师是对网页的架构.色彩以及网站的整体页面代码负责 网页美工只针对UI这块儿的东西,比如网站是否做的漂亮 web前端开发工程师是负责交互设计的,需要和程序猿进行交互设计的配合. web前端需要掌握的有脚本技术javascript DIV+CSS现下最流行的页面搭建技术,ajax和jquery以及简单的后端程序等. 后端的话可供开发的语言有 asp.php.jsp..NET 这些后端开发语言的话搭建环境都不一样,具体如果你想学的话

接口和抽象类,傻傻分不清楚?

01. 来看网络上对接口的一番解释: 接口(英文:Interface),在 Java 编程语言中是一个抽象类型,是抽象方法的集合.一个类通过继承接口的方式,从而来继承接口的抽象方法. 兄弟们,你们怎么看,这段解释把我绕得晕乎乎的,好像喝过一斤二锅头.到底是解释抽象类呢还是接口呢?傻傻分不清楚. 搞不清楚要用抽象类还是接口,就先来看看两者之间的区别.来,抽象类和接口,你俩过来比比身高. 1.抽象类中的方法可以有方法体,能实现方法具体要实现的功能,但是接口中的方法不行,没有方法体.2.抽象类中的成员

低俗文章之傻傻分不清楚的IC和ID卡

声明: PS.正如影片"低俗喜剧"开头导演所警告:内容充满不雅用语.成人题材.歧视.色情性描写,因此,本文章与"低俗喜剧"一样被编订为比家长指引级别更高一级的专家指责类别,若未能接受以上内容--大家立即点击浏览器右上角的红色X(Linux以及OSX的请点击左上角的X). 本文作者(即本人:黑板)以及背后技术团队(RadioWar)并无任何恶意语咒骂.针对任何个人或团队,只为求戏说RFID,故此因本低俗文章而引起各位不安.不适.不快.甚至不举,本文作者以及其背后技术团