Node.js学习——HTTP

HTTP

Node.js开发的目的就是为了用JavaScript编写Web服务器程序。由于JavaScript实际上已经统治了浏览器端的脚本,其优点就是有世界上数量最多的前端开发人员。若是已经掌握了JavaScript前端开发,再学习一下如何将JavaScript应用在后端开发,就是名副其实的全栈了。javascript

HTTP协议

HTTP服务器

要开发HTTP服务器程序,从头处理TCP链接,解析HTTP是不现实的。这些工做实际上已经由Node.js自带的http模块完成了。应用程序并不直接和HTTP协议打交道,而是操做http模块提供的requestresponse对象。html

request对象封装了HTTP请求,咱们调用request对象的属性和方法就能够拿到全部HTTP请求的信息;前端

response对象封装了HTTP响应,咱们操做response对象的方法,就能够把HTTP响应返回给浏览器。java

用Node.js实现一个HTTP服务器程序很是简单。咱们来实现一个最简单的Web程序hello.js,它对于全部请求,都返回Hello world!node

'use strict';

// 导入http模块:
var http = require('http');

// 建立http server,并传入回调函数:
var server = http.createServer(function (request, response) {
    // 回调函数接收request和response对象,
    // 得到HTTP请求的method和url:
    console.log(request.method + ': ' + request.url);
    // 将HTTP响应200写入response, 同时设置Content-Type: text/html:
    response.writeHead(200, {'Content-Type': 'text/html'});
    // 将HTTP响应的HTML内容写入response:
    response.end('<h1>Hello world!</h1>');
});

// 让服务器监听8080端口:
server.listen(8080);

console.log('Server is running at http://10.138.253.3:8080/');

在命令提示符下运行该程序,能够看到如下输出:后端

$ node http_test.js 
Server is running at http://10.138.253.3:8080/

不要关闭命令提示符,直接打开浏览器输入http://localhost:8080,便可看到服务器响应的内容:浏览器

http-hello-sample

同时,在命令提示符窗口,能够看到程序打印的请求信息:服务器

GET: /
GET: /favicon.ico

这就是咱们编写的第一个HTTP服务器程序!函数

相关文章
相关标签/搜索