http模块是Node.js官方提供创建web服务器的模块,在使用http模块前首先导入http模块
目录
1 一些概念
1.1 IP
1.2 域名
1.3 端口
2 创建一个基本的web服务器
3 req请求对象
4 res响应对象
5 不同地址获取不同响应
6 在服务中加载html文件
6.1 基础功能
6.2 优化url
每一个服务器都有他自己的IP,有的使用了域名挡住了IP,你可以使用ping看到域名下的ip
直接访问IP也可以打开百度的首页
每一个域名对应着一个IP,域名相对于IP更好记,本机的IP是127.0.0.1,对应的域名是localhost
一个IP可以开多个服务,通过请求不同的端口可以得到不同的响应,在浏览器中如果直接输入IP,访问的端口默认是80
一个端口只能被一个服务占用
分为4步
运行一下
这个时候你的PowerShell是阻塞的,你不要关了这个终端,关了服务就没了
我们用浏览器访问一下,发现有请求记录
但是在浏览器上没有得到响应
req请求对象就是上面我们server绑定request的第一个参数
有下面几个常用属性,返回值的类型都是字符串
我们随便看几个
运行一下
用浏览器先访问 127.0.0.1 再访问 127.0.0.1/test
如果用postman或者Ajax这种就可以发一个post请求,在这里我就不测试了
比如我们想响应给客户端一些内容,我们可以使用res.end()
运行后无论你访问哪一个路由都会显示hello
如果直接给中文会就会乱码
这个时候我们要对响应头进行一些设置
可以用fs,path模块配合http模块来加载html文件
我当前的项目结构是这样的,server.js是服务,index.html,index.css,index.js与server.js在相同的路径下
server.js代码
可以优化一下url,让用户输入起来更方便,实质上对url进行一些处理就好了