面试被问到node的web服务器?不要怕,一篇解决!!

本文详细介绍了服务器的概念、类型,包括web服务器、ftp服务器和数据库服务器,以及客户端与服务器的区别。重点讲解了HTTP协议、IP与域名、端口和URL的作用。最后,通过实例演示如何用Node.js创建简单web服务器。
摘要由CSDN通过智能技术生成
  • 服务器相关的概念-客户端和服务器

  • 服务器与客户端

    • 提供网络服务的一台机器,通过在自己的电脑上安装特殊的软件(或者是运行某段特殊的代码)来提供服务。
    • 服务器 = 电脑+能给其他电脑提供服务的软件
    • 客户端与服务器: 提供服务的是服务器, 享受服务的是客户端
  • 服务器的类型

  • 根据服务不同,服务器的类型也不同:
    • web服务器。安装apache, tomcat, iis, nginx, 或者在nodejs环境写代码来提供:图片浏览,新闻浏览....等服务的服务器。
    • ftp服务器。安装serv-U软件,为其它电脑提供文件下载,共享服务。
    • 数据库服务器。安装mysql软件,为其它电脑提供数据库服务。
    •   ....
  • web服务器

    • 用户通过浏览器来享受web服务器提供的服务
    • 我们用URL地址来访问某个web服务器上的资源
    • 浏览器端发出请求,web服务器收到请求后,响应这个请求,并将处理的结果返回给浏览器
    • 浏览器端与web服务器是通过http协议来进行响应和请求的
  • 协议

    • 制定客户端与服务器之间的通讯规则. 不同的协议作用也不相同
    • http协议:

      • HTTP(HyperText Transfer Protocol) 超文本传输协议。
      • 协议双方: 浏览器与web服务器都要遵守的协议
      • 请求通常是由像浏览器发起的
      • HTTP 协议中明确规定了`请求数据`和`响应数据`的格式(报文)
        • 浏览器请求资源要遵守http协议:请求报文(请求行,请求头,请求体)
        • 服务器返回资源要遵守http协议: 响应报文(响应行,响应头,响应体)
  • IP和域名

    • IP
      • 作用: 标识一个网络设备(计算机、手机、电视)在某一个具体的网络当中的地址。要访问某个电脑上的资源,先要找到它的ip。
      • 分类: IPV4  IPV6
      • 以IPV4为例子
        • 格式:[0-255].[0-255].[0-255].[0-255]即为四个 0-255 的数字组成。在同一个网络中,计算机的IP是不允许相同的,都是唯一的。
      • 由于IPv4最大的问题在于网络地址资源不足,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。
    • 域名
      • 域名:ip地址的别名,由于ip地址不好记忆,我就给它们取个好记的别名。localhost这个域名特指本机ip的地址。
      • 域名解析系统:把域名翻译成Ip地址的系统。
  • 端口

    • 一个IP地址的端口可以有65536个,范围是从[0,65535])。不同的端口被不同的软件占用,以提供不同的服务。
      • 如果理解IP地址(一台服务器)是一栋大商场,端口就是商场中的商铺的编号。
      • 如果理解IP地址(一台服务器)是公司的前台电话,端口就是公司中各个部门的分机号。
    • 一台电脑可以通过安装多个服务器端软件来提供服务,比如Web服务、FTP服务、SMTP服务等。显然,仅仅通过ip地址是无法区分不同的服务的,这里就需要用到 "IP地址+端口号"来区分不同的服务`。
    1. 服务器要提供服务必须要通过指定的端口

    2. 服务器与客户端都需要通过端口来进行通信

    3. 端口是可以编程分配的

    4. 有一些端口号是被预定过了的类似 http:80(443) 

    5. 通过cmd命令 netstat -a -n -o 可以查看端口的使用情况

  • URL(统一资源定位器) 

    • 作用: 定位资源 , 类似前端的css html js png avi MP4 接口 等等.. 
    • 格式: 协议://主机地址[:端口]/路径?查询字符串#锚点 
      • 协议:http或者https
      • 主机地址: 可以是IP地址或者域名
      • 端口号
        • http请求,默认端口80(可以省略不写)
        • https请求, 默认端口号443(可以省略不写)
      • 路径 : 服务器文件夹上的资源,如 .html /.css /.image /.js

      •  参数(查询字符串) : ?后面的部分,以键值对的形式参在,如./html?name=1&age=2

      •  锚点:网页内部的锚点连接, 在vue中也会说明

  • 三步写一个简单的web服务器(下载node.js,否则无法运行)

    • 第一步
      • 新建一个文件,名为http.js,(文件名和路径不建议中文字符)
    • 第二步(书写代码)
    • // 1. 引入http模块
      const http = require('http');
      
      // 2. 创建服务
      const server = http.createServer(function(req, res) {
        console.log('有人来访问了')
        res.setHeader('content-type','text/html;charset=utf8')
        // 向客户端发送内容,并结束本次响应
        res.end('hello world');
      });
      // 3. 启动服务
      server.listen(8081, function() {
        console.log('服务器启动成功,请在http://localhost:8081中访问....');
      });

    • 第三步, 运行代码

               

     

输入指令 node 文件名

启动成功

在网址输入

成功启用你的第一个本地服务器
​​​​​​

  • 完~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值