【午夜闲谈】B/S旅途之二: Browser、Server

浏览:1449 发布日期:2013/08/22 分类:心情闲聊
URL篇:http://www.thinkphp.cn/topic/4917.html

一 、Browser 浏览器
我们做网站开发,很多人前端后端分不清,诸如在js中怎么使用php处理变量。。
好吧,我们首先来给我们经常接触到的一些语言分个类

前端语言:
javascript 包括jquery等js框架,本质上还是js
html
css
服务端语言:
php

实际上,当你浏览器成功打开一个页面后,你所看到的只是前端语言所构成的代码,一个网页是如何显示出千奇百怪的样子?如何实现绚丽的特效?这些都是浏览器对接收到的网页源代码进行解析渲染,这也是为何css,js等在IE、火狐、chrome等浏览器中表现差异,就因为前端是由浏览器解释,而各大浏览器出于一些原因,喜欢制定一些自己专属的解释标准,从而导致各种"兼容性"问题啦。


二、Server 服务端
所谓服务端,就是我们的服务器,再具体点到apache这类http服务软件。
相信大多数人一开始接触php就被告知:php是一种服务端脚本语言。
这句话怎么理解呢?
php是在服务器上运行的,在浏览器向服务器(apache)请求一个页面时,如果这个页面是php脚本,那么apache会先让php处理这个脚本,把PHP部分执行掉,然后将这个文件内容发送给Browser。假设有一个PHP脚本
index.php:<?php
echo "<b>hello</b>";
?>
<b>world</b>
当浏览器请求访问 index.php的时候,服务器上PHP会先运行这个PHP脚本,执行里面<?php ?>中的代码,并将其内容替换成 echo 输出。也就是说apache最终发给浏览器的index.php实际上已经变成了<b>hello</b>
<b>world</b>
这么说相信大多数人结合上面的Browser部分应该可以区分php与js的运行环境了吧?
http是一种无状态请求,也就是说,浏览器向服务器请求一个页面,服务器将这个页面源代码发送给浏览器后就断开连接了,之后浏览器根据接收到的源代码进行前端渲染,最终展现给我们多彩的视觉效果。

所以,请牢牢记住,你在开发过程中,所有的php代码不会出现在前端浏览器,前端也无法运行php,不要再问“js代码中如何使用PHP”这种问题了。当然js获取新的页面内容是可以的,这个就是ajax。



预告:下一篇我想跟大家聊聊HTTP协议,这也是目前大多数培训学校所强调的“重点”,看起来很神秘,其实很简单。


最佳答案
评论( 相关
后面还有条评论,点击查看>>