<p>如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi。</p><p>从这个角度看,整个&quot;接收 HTTP 请求并提供 Web 页面&quot;的需求根本不需 要 PHP 来处理。</p><p>不过对 Node.js 来说,概念完全不一样了。使用 Node.js 时,我们不仅仅 在实现一个应用,同时还实现了整个 HTTP 服务器。事实上,我们的 Web 应用以及对应的 Web 服务器基本上是一样的。</p><p>在我们创建 Node.js 第一个 &quot;Hello, World!&quot; 应用前,让我们先了解下 Node.js 应用是由哪几部分组成的:</p><p>引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。</p><p>创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。</p><p>接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。</p><p>创建 Node.js 应用</p><p>步骤一、引入 required 模块</p><p>我们使用 require 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http,实例如下:</p><p>var http = require(&quot;http&quot;);</p><p>步骤二、创建服务器</p><p>接下来我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。</p><p>实例如下,在你项目的根目录下创建一个叫 server.js 的文件,并写入以下代码:</p><pre class="brush:js;toolbar:false">varhttp=require(&#39;http&#39;); http.createServer(function(request,response){ //发送HTTP头部 //HTTP状态值:200:OK //内容类型:text/plain response.writeHead(200,{&#39;Content-Type&#39;:&#39;text/plain&#39;}); //发送响应数据&quot;HelloWorld&quot; response.end(&#39;HelloWorldn&#39;); }).listen(8888);</pre><p>// 终端打印如下信息</p><p>console.log(&#39;Server running at http://127.0.0.1:8888/&#39;);</p><p>以上代码我们完成了一个可以工作的 HTTP 服务器。</p><p>使用 node 命令执行以上的代码:</p><p>node server.js</p><p>Server running at <a href="http://127.0.0.1:8888/">http://127.0.0.1:8888/</a> </p><p><img src="/up_pic/201805/301037092488.jpg" title="301037092488.jpg" alt="1.jpg"/></p><p>cmdrun</p><p>接下来,打开浏览器访问 http://127.0.0.1:8888/,你会看到一个写着 &quot;Hello World&quot;的网页。</p><p>nodejs-helloworld</p><p><img src="/up_pic/201805/301037148272.jpg" title="301037148272.jpg" alt="2.jpg"/></p><p>分析Node.js 的 HTTP 服务器:</p><p>第一行请求(require)Node.js 自带的 http 模块,并且把它赋值给 http 变量。</p><p>接下来我们调用 http 模块提供的函数: createServer 。这个函数会返回 一个对象,这个对象有一个叫做 listen 的方法,这个方法有一个数值参数, 指定这个 HTTP 服务器监听的端口号。</p><p>Gif 实例演示</p><p>接下来我们通过 Gif 图为大家演示实例操作:</p><p><img src="/up_pic/201805/301037185929.gif" title="301037185929.gif" alt="3.gif"/></p>
T:0.007717s,M:247.98 KB
返回顶部 留言