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端口可以被省略
  • clipboard.png

    4. 创建一个web服务器的流程

    1. //引入http模块
    2. const http = require('http');
    3. //创建web服务器实例
    4. const server = http.createServer();
    5. //为服务器实例绑定request事件, 监听客户端的请求
    6. server.on('request', (req, res) => {
    7. console.log('Someone visit our web server')
    8. })
    9. //启动服务器
    10. server.listen(8085, () => {
    11. console.log('server running at http://127.0.0.1:8085')
    12. })
  • req: 是请求对象, 它包含了与客户端相关的数据请求属性, 例如:

    1. - **req.url 是客户端请求的URL地址**
    2. - **req.method是客户端的method请求类型**
  • res:是响应对象,它包含了与服务器相关的数据和属性

    1. - **res.end():向客户端发送指定的内容,并结束对这次请求的处理过程。**
    2. - **res.setHeader()方法,设置Content-Type响应头, 解决中文乱码的问题**
    1. //引入http模块
    2. const http = require('http');
    3. //创建web服务器实例
    4. const server = http.createServer();
    5. //为服务器实例绑定request事件, 监听客户端的请求
    6. server.on('request', (req, res) => {
    7. const str = `您请求的URL地址是:${req.url}, 请求的method类型为${req.method}`
    8. res.setHeader('content-Type','text/html;charset=utf-8')
    9. res.end(str) })
    10. //启动服务器
    11. server.listen(8085, () => {
    12. console.log('server running at http://127.0.0.1:8085')
    13. })

    5. 根据不同的URL地址响应不同的内容

  • 获取请求的url地址

  • 设置默认的响应内容为404Not found
  • 判断用户请求的是否为/或者index.html页面
  • 设置Content-Type响应头, 防止中文乱码
  • 使用res.end()把内容响应给客户端
    1. const http = require('http');
    2. const server = http.createServer();
    3. server.on('request', (req, res) => {
    4. const url = req.url;
    5. console.log(url)
    6. let content = '<h1> 404 Not Found</h1>';
    7. if(url === '/' || url === 'index.html'){
    8. content = '<h1>你好, 我是首页</h1>'
    9. }else if(url === 'about.html'){
    10. content = '<h1>你好, 我是关于页面</h1>'
    11. }
    12. res.setHeader('content-Type','text/html;charset=utf-8')
    13. res.end(content) })
    14. server.listen(8080, () => {
    15. console.log('server running at http://127.0.0.1:8085')
    16. })