1. IP地址
IP地址: IP地址就是互联网上每台计算机的唯一地址。
IP地址的格式:通常用点分十进制表示成a.b.c.d的形式, 其中abcd都是0~255之间的十进制整数。
互联网中每台Web服务器都有自己的IP地址
扩展名
2. 域名和域名服务器
域名和域名服务器:
尽管IP地址能够唯一的标识网络上的计算机, 但是IP地址是一串数字, 不直观而且不便于记忆, 于是人们又发明了另一套字符型的地址方案, 即所谓的域名地址。
IP地址和域名是一一对应的关系, 这份对应关系存放在一种叫做域名服务器(DNS, Domain name server)的电脑中, 使用者只需要通过好记得域名访问对应得服务器即可, 对应得转换工作由域名服务器实现。因此, 域名服务器就是提供IP地址和域名之间得转换服务的服务器。
注意:
- 单纯使用IP地址, 互联网中得电脑也能够正常工作, 但是有了域名得加持, 能够让互联网得世界变得更加方便;
在开发测试期间, 127.0.0.1对应得域名是localhost,他们都是代表我们自己得这台电脑, 在使用效果上没有任何区别。
3. 端口号
在一台电脑中, 可以运行成千上百个web服务, 每个web服务都对应一个唯一的端口号。 客户端发送过来的网络请求, 通过端口号,可以被准确低交给对应的web服务进行处理。
注意:每个端口不能同时被多个web服务占用
- 在实际应用中, URL中的80端口可以被省略
-
4. 创建一个web服务器的流程
//引入http模块
const http = require('http');
//创建web服务器实例
const server = http.createServer();
//为服务器实例绑定request事件, 监听客户端的请求
server.on('request', (req, res) => {
console.log('Someone visit our web server')
})
//启动服务器
server.listen(8085, () => {
console.log('server running at http://127.0.0.1:8085')
})
req: 是请求对象, 它包含了与客户端相关的数据请求和属性, 例如:
- **req.url 是客户端请求的URL地址**
- **req.method是客户端的method请求类型**
res:是响应对象,它包含了与服务器相关的数据和属性
- **res.end():向客户端发送指定的内容,并结束对这次请求的处理过程。**
- **res.setHeader()方法,设置Content-Type响应头, 解决中文乱码的问题**
//引入http模块
const http = require('http');
//创建web服务器实例
const server = http.createServer();
//为服务器实例绑定request事件, 监听客户端的请求
server.on('request', (req, res) => {
const str = `您请求的URL地址是:${req.url}, 请求的method类型为${req.method}`
res.setHeader('content-Type','text/html;charset=utf-8')
res.end(str) })
//启动服务器
server.listen(8085, () => {
console.log('server running at http://127.0.0.1:8085')
})
5. 根据不同的URL地址响应不同的内容
获取请求的url地址
- 设置默认的响应内容为404Not found
- 判断用户请求的是否为/或者index.html页面
- 设置Content-Type响应头, 防止中文乱码
- 使用res.end()把内容响应给客户端
const http = require('http');
const server = http.createServer();
server.on('request', (req, res) => {
const url = req.url;
console.log(url)
let content = '<h1> 404 Not Found</h1>';
if(url === '/' || url === 'index.html'){
content = '<h1>你好, 我是首页</h1>'
}else if(url === 'about.html'){
content = '<h1>你好, 我是关于页面</h1>'
}
res.setHeader('content-Type','text/html;charset=utf-8')
res.end(content) })
server.listen(8080, () => {
console.log('server running at http://127.0.0.1:8085')
})