服务器、用http 模块写一个简单的web服务器、content-type、statusCode、二次请求、Express、托管静态资源、路由和接口、接口、get接口、、、、

      最后更新:2022-05-03 20:14:19 手机定位技术交流文章

      服务器相关概念

      服务器是一种计算机,通过安装特殊软件(或运行特定代码)提供网络服务。
      服务器=计算机+软件,能够为其他计算机/设备提供服务在这里插入图片描述
      客户和服务器:提供服务器,为客户提供服务。

      服务器的类型

      下列服务器类型可视服务而定:

      • 网络服务器.Install apache、tomcat、iis或编造新代号,以提供照片浏览、新闻浏览等服务。
      • FTP服务器.建立服务器-U软件,以便能够下载文件,并与其他计算机共享服务。
      • 数据库服务器。

      web服务器:

      * 浏览器用户访问网络服务器服务
      • URL用于在网络服务器上访问资源。
      * 浏览器终端发射请求,收到后将由网络服务器处理,并退回浏览器。
      在这里插入图片描述
      • HTTP(或https)对浏览器端和网络服务器的要求和答复

      ip地址

      因特网议定书地址是全名。

      IP 地址的作用是在给定的网络中识别网络设备(计算机、移动电话或电视)的地址。要访问计算机的资源,您必须首先确定其IP 地址。
      IPV4和IPV6分类

      [0255].[0-255].[0255].[0255].[0255].[0255].[255]由四个数字组成,0-255(就IP4而言)。 计算机IP是不允许的,是同一网络上唯一的IP。

      具体提到了这个Pip地址。

      域名

      域名是我给他们的IP地址的别名, 因为 IP 地址很难记住。 域名本地主机与这个地址直接对应 。

      域名解析系统: 将域名转换为 IP 地址的系统 。

      端口

      IP地址可包含范围[0,65535] 多达65536个港口。 各种软件使用不同的港口提供不同的服务。

      计算机可以通过安装各种服务器端软件(如网络服务、FTP服务、SMTP服务等)来提供服务。 显然,仅仅使用IP地址来区分不同的服务是行不通的,因此必须在这里使用。为区分各种服务,使用IP地址和端口号。

      理解
      如果IP地址(服务器)被认为是一个巨大的商场,则该港口是商场的商店数目。
      如果IP地址(服务器)被视为代表公司的前台电话,则港口是公司组织IP地址(服务器)所有部门的扩展号,被视为代表公司的前台电话,港口是公司所有部门的扩展号。
      在这里插入图片描述

      1. 要提供服务,服务器必须使用给定端口。
      2. 服务器和客户必须通过港口进行互动。
      3. 端口是可以编程分配
      4. 某些端口号已经保留。

      ● http: 80
      ● https:443
      ● mysql:3306

      通过netstat -a -n -o查看端口使用情况

      协议

      制定客户与服务器之间的通信规则,各种协议的功能也各不相同。

      http协议:

      • HTTP(HyperText传输协议)关于通过互联网传输数据的议定书。
      * 协议的当事方是浏览器和网络服务器。
      • 浏览器启动请求
      • HTTP协定是明确的。请求数据响应数据的格式(报文)
      ox 浏览器请求资源协议Complient: 请求消息( 请求行、 请求信头、 请求机构)
      ° 服务器提供符合 http 协议的资源: 回复信件( 回复行、 回复头、 回复机构 ) 。
      在这里插入图片描述

      使用 http 模块创建基本的网络服务器 。

      要点

      • Nodejs核心单元介绍:http://ww.nodejs.com
      • 利用创建服务器创建服务。
      要启动服务, 请使用监听方法 。

      操作

      有三步:

      1. 使用手写代码来提供服务器功能。
      2. 运行代码,启动服务
      3. 访问服务,测试功能

      第一步:

      创建名为 d: /src/01http. org.js 的新文件( 文件名和路径名可以自行调整), 并命名如下:

      第二步:

      通过运行 js 代码启动服务 。
      将命令 no 01http.js 输入一个小黑窗口到 01http.com。 js 所在的目录, 一个小黑窗口此时将出现, 不要关闭它 。

      第三步:

      测试功能
      启动浏览器窗口, 输入以下地址: http://localhost:8081, 结果显示 :
      ● 浏览器中的效果
      ● 小黑窗中的效果

      使用 ctrl + c 停止服务

      如果您无法接受他人的采访,可能需要手动关闭您的计算机防火墙。

      工作原理

      在此系统中创建虚拟服务器, 使用 http 模块接收并回复浏览器请求 。
      在这里插入图片描述
      注意:
      • 不要关闭小黑窗,这是服务器的错。
      • 服务器不会主动(小黑窗口似乎没有更新),而且总是在等待客户访问。
      • 避免使用鼠标选择小黑窗口的内容,因为这会使软件崩溃。
      • 修改代码后重新启动
      o changeres.End (), 重新启动, 重复实验 。
      重新启动服务: 重新启动软件( 向箭头下滚, 返回汽车) 。
      % 使用点头程序而不重新启动它。

      代码解析

      在这里插入图片描述
      • 核心单元见http://ww.un.org/en/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/sc/
      • http.orgCreateServer 创建 http 服务的方法。 说明包括一个回声功能:当http 提出请求时,立即呼叫。 一旦提出要求,就叫一次。
      第一个论点是客户的要求。
      将对这一请求的答复作为第二个理由。
      ■res.end():设定回复并关闭请求(不包括后面的任何东西。 )
      抱歉, 服务器。 Listen () 用于监听端口 。
      ° 格式 : 服务器。 不需要检索 。
      ○ 说明:
      如果监听成功,回声函数只被调用一次。
      如果它不成功(例如,港口被占用),就会错误地报告。

      请求和响应

      请求

      当 Web 服务器准备就绪时, 在客户端连接到服务器之前, 它将无效 。 这意味着回声函数将不会被执行 。
      每个请求都导致回声功能被调用一次。

      响应

      要设置答案的内容, 请使用 Res. End () 。 Res. End () 的格式只能是缓冲或字符串 。

      URL

      全称 :Uniform Resource Locator,统一资源定位符。

      • 作用:资源配置(cs、html、js、png、avi、接口..)
      ● 格式:# assort 协议: 主机地址 [: 端口] / 路径? 查询字符串
      ● 示例:http://itcast.cn:80/schools/students?id=18&name=zs#photo
      ○ 说明:
      http 或 https 协议
      主机地址: IP 地址或域名 。
      ■ 端口号
      • HTTP请求,默认端口80(可以省略)
      • HTTPS请求,默认端口443(可以删除)
      MySQL 默认端口为 3306 。

      ■ 路径
      • 服务器方面的资源(.(对不起,cs/.images/.js/interface)
      查询字符串( 参数)
      其余信息以配对钥匙的形式出现
      ■ 锚点
      • 超链接到网址页面的锁定
      在这里插入图片描述

      许多要求退回各种内容的请求

      在这里插入图片描述

      req.url属性

      所涉和索取的信息是通过询问对处理函数第一个参数的答复获得的。
      在这里插入图片描述

      我不知道你在说什么 但是 req.url是用来获取这个请求的资源地址的 正如请求行所见

      序号 浏览器中的url req.url
      1 http://localhost:8080 /
      2 http://localhost:8080/a.html /a.html
      3 http://localhost:8080/js/jquery.js /js/jquery.js
      4 http://localhost:8080/1.jpg /1.jpg
      5 http://localhost:8080/api?a=1&b=2 /api?a=1&b=2

      注意:

      1. 我不知道你在说什么 瑞格 URL一定是/开头的
      2. 对不起,对不起,对不起,对不起。
        在这里插入图片描述

      注意

      • URL 地址与服务器的文件地址不符。
      • URL的任务是确定用户将访问的资源的位置,当返回车辆被放在地址栏时,请求将转到网络服务器,然后由网络服务器决定此时将返回用户的数据。

      设置目标类型

      cont- type 函数

      http 协议中的联系人类型通知对面方正在传输哪类数据 。
      在这里插入图片描述
      ● 在请求头中设置目标类型来告诉服务器,本次请求携带的数据是什么类型的
      ● 在响应头中设置目标类型来告诉服务器,本次返回的数据是什么类型的

      通过使用res对象中的setHeader方法,我们可以设置目标类型这个响应头。这个响应头的作用是告诉浏览器,本次响应的内容是什么格式的内容,以方便浏览器进行处理。

      有几种流行的档案类型和接触类型。
      ● .html:res.setHeader(‘content-type’, ‘text/html;charset=utf8’)
      ● .css:res.setHeader(‘content-type’, ‘text/css;charset=utf8’)
      ● .js:res.setHeader(‘content-type’, ‘application/javascript’)
      ● .png:res.setHeader(‘content-type’, ‘image/png’)
      • json数据: Res.Set Heather(“content-type,'application/json;charset=utf-8')

      其它类型

      如果读取.. html 文件, 但联系人类型设置为 css, 浏览器将不会将页面变成 html 页面 。

      格式

      抱歉, Res.Set Header (“ content-type”, 值) 。

      设置状态代码代码

      tatusCode
      这是 http. promise 指定的状态代码 。
      在这里插入图片描述

      设置格式

      抱歉, Res. statusCode = 值

      在这里插入图片描述

      pade. 第二次 html 文档请求

      什么是二次请求

      如果在从服务器检索 html 文件后还有其它外部资源(图片、样式页面等), 它们会被装入。 此 html 文件也会提到, 浏览器将进行重新请求, 这是第二个请求 。

      《快报》一般概览

      Express是一个基于Node.js平台的快速、开放和相对容易的网络发展框架。
      • 框架:部分完成的产品它用于迅速解决问题;工具集是图书馆。使用适应性极强的框架和图书馆(框架: 靴子陷阱、 外衣、 直线、 vue、 反应; 图书馆: zepto. Js, jQuery, day. 我不确定你在说什么, js, undercore, lordash, art-templace, axios, art..
      • 网络开发:为各种查询提供网页;提供接口服务;

      参考链接
      官方快报网络
      非正式的中文快报非官方文件
      GitHub 快递仓库

      理解:

      • 我们一直在使用“http”模块来支持网络服务;现在我们将利用媒体创建网络服务。
      • Node.js Express是一个第三方模块,提供广泛的API支持以及有力和多功能的中间功能。
      为什么 Express Node.js 是对现有属性的二次抽象, 只会增加网络应用程序所需的基本功能。

      理解:中间件

      • 向用户提供改进的服务
      ● 可方便的拆卸

      启动第一个快递应用程序 。

      表达式是一个第三方模块(可在npm上查阅),在使用前必须下载该模块,在下载软件包之前必须生成项目,软件包是使用npm init创建的。Json文件构建器是一个第三方模块(可在npm上查阅),在使用前必须下载该模块,在下载软件包之前必须生成项目,而软件包则使用npm init.Json文件创建。

      创建项目并初始化

      创建名为 larn 表达式的新文件夹, 并在此目录内运行 npm init-y 命令, 以构建软件包. json 文件 。

      获取快件包

      文件引文:http://delaijs.com. 这个项目是我们特别报道全球之声的一部分。 com/en/Starter/安居.html。
      安装在当地机器上,与安装其他第三方程序相同。
      npm i express

      注意:

      项目目录名称不应以中文提供,也不应作为感叹点。
      • 如果安装工作不顺利:
      ○ 换个网络环境
      运行 npm 缓存清除f, 然后重试下载命令 。

      快速建立网络服务器

      com/en/Starter/ello-world.html/en/Starter/ello-world.html/en/Starter/ello-world.html/en/Starter/ello-world.html/en/Starter/ello-world.html/en/Starter/ello-world.html/en/Starter/ello-world.html/en/Starter/starter/ello-world.html/en/Starter/ello-world.html。

      在工程的根目录中创建新的 js 文件, 例如 。 app. js, 包含以下输入代码 :

      说明:

      • App.Get ('/') 与增加监听事件相似:当用户在接听方式中请求“/”时,执行回声功能,回声函数中的req与先前的 http 模块一致。
      • Res.Send () 是Expres 框架向 Res 对象提供的关闭请求的功能( 参见 http 模块中没有此方法 ) 。 它类似于 Res. Json () 和 Res. SendFile () 。
      • 《快报框架》改进了第2(q)号和第(b)号决议。

      托管静态资源

      http://delaijs.com。 本文是全球之声特别报导的一部分。 com/en/ Starter/static-files. html。
      express.static(‘public’)

      目前,所有置于公共之下的项目都可立即查阅,无需在公共.html下以url.New索引提供公共目录,可直接查看。

      限制前缀

      如果您想在公开场合查看材料,请务必在URL申请中包括/公开内容。

      路由和接口

      参考文件:http://delaijs.com.
      运行由 URL (或路径识别) 和 HTTP 方法( GET、 POST 等) 组成 。它要求练习如何答复客户询问。每个路径可能包含一个或多个处理功能。当匹配到路由时,这些个函数将被执行

      其中:
      • App是一个具体的例子。 (支出App = Express())
      • 方法是指HTTP请求方法。完整的小写格式,例如员额、取出、删除等。
      请求路线(相当于URL)由 PATH 表示。 我不确定你在说什么, 但我不确定你在说什么。 我不确定你在说什么。
      ● HANDLER 是当路由匹配到时需要执行的处理函数。(req,res)=>{ }

      浏览器url 服务端路径
      http://localhost:8080 /
      http://localhost:8080/public/a/index.html /public/a/index.html
      http://localhost:8080/index.html?a=1&b=2 /index.html

      写接口

      我们使用 ajax 请求服务器接口的种子, 每个请求包括三个部分,

      • 请求行:请求保留在请求地址,部分数据可以查询字符串的形式附后。
      • 请求页头:它可以包括许多信息,包括用于商定请求机构应放置数据格式的方位类型。
      有三种广泛使用的内容类型值:

      mont 类型值 请求的数据格式 示例
      application/x-www-form-urlencode 普通键值对象 a=2&c=1
      application/json json对象 {a:1,b:{c:1}}
      multipart/form-data 上传文件 file

      • 请求:这一请求的参数:取决于请求中的内容类型,以确定这些参数应如何在后端解构。
      在这里插入图片描述
      • 技术一:请求行,标准方法如下:
      o 使用Ajax技术,可通过Akit获得。
      以浏览器地址栏的界面地址填入查询字符串 。
      ● 方法二:请求体
      o Ajax 函数,如锅、放放和删除,可以在请求体中引用。
      此外,请求中的接触类型还用来指导服务器如何解构请求机构的数据。
      在这里插入图片描述

      写入接口 (Express)

      get无参数

      抱歉, 压缩机提供的技术是 Res. Json () 。

      get接口有参数

      extress 框架自动将获取类型界面传输的查询字符串参数从 URL 地址中收集并保存到 req 对象的查询属性中。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/23226.html

          热门文章

          文章分类