nodejs基础 用http模块 搭建一个简单的web服务器 响应纯文本
首先说一下,我们平时在浏览器上访问网页,所看到的内容,其实是web服务器传过来的,比如我们访问www.baidu.com.当我们在浏览器地址栏输入之后,浏览器会发送请求到web服务器,然后web服务器根据请求所携带的信息,返回内容。
那么,nodejs中的http模块,就是用来搭建web服务器用的。
下面来简单的搭建一个服务器:
var http = require("http");
//request:是请求参数,携带这请求所带来的信息。response:是响应参数,携带者将要返回到浏览器的信息,这两个参数都是流的实例
var server = http.createServer(function(request,response){
console.log("request received");
//response的writeHead是写响应的头部信息的,第一个参数是状态码,第二个参数是一个对象,里面可以写一些返回到浏览器的信息,比如Content-Type:指定的是返回浏览器的是什么内容,比如图片、html、json、pdf、纯文本等
//浏览器会根据服务器返回的头信息,去想着如何渲染
response.writeHead(200,{"Content-Type":"text/plain"});//text/plain:代表传回的是纯文本
response.write("hello from out application");//将内容写在write的参数里,传回浏览器
response.end();//加一个end方法,表示响应结束了
})
//最后让服务器监听一个端口
server.listen(3000);
console.log("server started on localhost port 3000");//加一个服务器启动起来的提示
然后在终端执行node app 将服务器运行起来
之后,在浏览器是输入localhost:3000 发现页面你上会出现,我们响应参数的write方法中的内容!!!
listen也可以传第二个参数,ip
返回给浏览器的内容也可以写在response的end方法里:
var http = require("http");
//request:是请求参数,携带这请求所带来的信息。response:是响应参数,携带者将要返回到浏览器的信息,这两个参数都是流的实例
var server = http.createServer(function(request,response){
console.log("request received");
//response的writeHead是写响应的头部信息的,第一个参数是状态码,第二个参数是一个对象,里面可以写一些返回到浏览器的信息,比如Content-Type:指定的是返回浏览器的是什么内容,比如图片、html、json、pdf、纯文本等
//浏览器会根据服务器返回的头信息,去想着如何渲染
response.writeHead(200,{"Content-Type":"text/plain"});//text/plain:代表传回的是纯文本
// response.write("hello from out application");//将内容写在write的参数里,传回浏览器
response.end("hello from out application");//加一个end方法,表示响应结束了
})
//最后让服务器监听一个端口
server.listen(3000,"127.0.0.1");//还可以加第二个参数 127.0.0.1代表的是本地
console.log("server started on localhost port 3000");//加一个服务器启动起来的提示
还有人将http.createServer中的函数抽出来,这样写:
var http = require("http");
//request:是请求参数,携带这请求所带来的信息。response:是响应参数,携带者将要返回到浏览器的信息,这两个参数都是流的实例
var onRequest = function(request,response){
console.log("request received");
//response的writeHead是写响应的头部信息的,第一个参数是状态码,第二个参数是一个对象,里面可以写一些返回到浏览器的信息,比如Content-Type:指定的是返回浏览器的是什么内容,比如图片、html、json、pdf、纯文本等
//浏览器会根据服务器返回的头信息,去想着如何渲染
response.writeHead(200,{"Content-Type":"text/plain"});//text/plain:代表传回的是纯文本
// response.write("hello from out application");//将内容写在write的参数里,传回浏览器
response.end("hello from out application");//加一个end方法,表示响应结束了
}
var server = http.createServer(onRequest);
//最后让服务器监听一个端口
server.listen(3000,"127.0.0.1");//还可以加第二个参数 127.0.0.1代表的是本地
console.log("server started on localhost port 3000");//加一个服务器启动起来的提示
万变不离其中
nodejs基础 用http模块 搭建一个简单的web服务器 响应纯文本的更多相关文章
- nodejs基础 用http模块 搭建一个简单的web服务器 响应JSON、html
前端在开发中,大多会想浏览器获取json数据,下面来用nodejs中的http模块搭建一个返回json数据的服务器 var http = require("http"); var ...
- 利用 nodeJS 搭建一个简单的Web服务器(转)
下面的代码演示如何利用 nodeJS 搭建一个简单的Web服务器: 1. 文件 WebServer.js: //-------------------------------------------- ...
- golang搭建一个简单的web服务器
package main import ( "io/ioutil" "log" "net/http" ) func main() { htt ...
- 使用gitblit搭建一个简单的局域网服务器
使用gitblit搭建一个简单的局域网服务器 1.使用背景 现在很多使用github管理代码,但是github需要互联网的支持,而且私有的git库需要收费.有一些项目的代码不能外泄,所以,搭建一个局域 ...
- 自己动手模拟开发一个简单的Web服务器
开篇:每当我们将开发好的ASP.NET网站部署到IIS服务器中,在浏览器正常浏览页面时,可曾想过Web服务器是怎么工作的,其原理是什么?“纸上得来终觉浅,绝知此事要躬行”,于是我们自己模拟一个简单的W ...
- 一个简单的web服务器
写在前面 新的一年了,新的开始,打算重新看一遍asp.net本质论这本书,再重新认识一下,查漏补缺,认认真真的过一遍. 一个简单的web服务器 首先需要引入命名空间: System.Net,关于网络编 ...
- 自己模拟的一个简单的web服务器
首先我为大家推荐一本书:How Tomcat Works.这本书讲的很详细的,虽然实际开发中我们并不会自己去写一个tomcat,但是对于了解Tomcat是如何工作的还是很有必要的. Servlet容器 ...
- [置顶] 在Ubuntu下实现一个简单的Web服务器
要求: 实现一个简单的Web服务器,当服务器启动时要读取配置文件的路径.如果浏览器请求的文件是可执行的则称为CGI程序,服务器并不是将这个文件发给浏览器,而是在服务器端执行这个程序,将它的标准输出发给 ...
- Tomcat剖析(一):一个简单的Web服务器
Tomcat剖析(一):一个简单的Web服务器 1. Tomcat剖析(一):一个简单的Web服务器 2. Tomcat剖析(二):一个简单的Servlet服务器 3. Tomcat剖析(三):连接器 ...
随机推荐
- Java坑人面试题之自动装箱和拆箱后的引用数据类型和基本数据类型的计算
在Java1.5以后的版本中,引用类型Integer和基本数据类型int之间是可以通过自动装箱和拆箱进行计算的 例如: Integer in = 1; //it means Integer in = ...
- (五)CXF之添加拦截器
一.需求分析 webService中的拦截器类似于servlet的Filter过滤器.一般用于调用服务前后先调用拦截器的方法. 二.案例 本章案例是基于上一章节的基础上添加拦截器的 2.1 服务端添加 ...
- Myeclipse debug 调式java 报错,留做后面解决!
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT( ...
- java封装数据类型——Integer
今天来学习整型 int 的封装数据类型,Integer. 1. 定义 首先来看看定义.可以看到,Integer 继承 Number 抽象类,实现了 Comparable 接口.Number 类是常用数 ...
- 【转载】Android性能优化之渲染篇
下面是渲染篇章的学习笔记,欢迎大家一起学习交流! 1)Why Rendering Performance Matters 现在有不少App为了达到很华丽的视觉效果,会需要在界面上层叠很多的视图组件,但 ...
- Ubuntu输入密码后重新返回登陆界面
Xserver启动时,需要读取文件~/.Xauthority.由于权限不够,导致登录失败 解决办法 ctrl+alt+F1组合键进入终端,修改文件权限 # ls -l .Xauthority -rw- ...
- No valid host was found. There are not enough hosts available-----openstack建虚拟机直接报错
目录 No valid host was found. There are not enough hosts available-----openstack建虚拟机直接报错 一.问题现象: 二.解决思 ...
- zookeeper:3
zoo.cfg配置文件 tickTime=2000 :zookeeper中最小的时间单位长度 (ms). initLimit=10 :follower节点启动后与leader节点完成数据同步的时间 ...
- Computer Vision_33_SIFT:Evaluation of Interest Point Detectors——2000
此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...
- node-exporter cpu使用率为负数
在prometheus利用公式:100 - (avg by (instance) (irate(node_cpu{instance="xxx", mode="idle&q ...