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')})
 
