nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化

这篇具有很好参考价值的文章主要介绍了nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需要在终端重新执行一次node app.js浏览器的内容才会刷新

nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议

4.如何获取url中的参数

============================================================================

4.1 URL类基础


建议大家可以先看看Node.js API文档中的url 网址部分,这里做简要说明。url字符串在nodejs的url模块,有两种解析API,其中旧版的API为 url.parse() ,目前已经弃用;新版本的API——new URL()实现了与 Web 浏览器使用的相同的 WHATWG 网址标准,基本使用方式如下:

// 和旧版API不同,不用引入node自带的url模块

// const url = require(‘url’)

var api = “http://www.baidu.com?name=zhang&&age=20”

// 创建URL类的实例对象

var myUrl = new URL(api)

var params = myUrl.searchParams

console.log('myUrl: ',myUrl)

console.log('params: ',myUrl.searchParams)

// 使用get方法获取url对象中searchParams属性对象的name属性

console.log(‘name:’+ params.get(‘name’))

// 往url中插入参数sex=male

myUrl.searchParams.append(‘sex’,‘male’)

console.log(myUrl.href)

nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议

4.2 动态监测URL的变化


在获取http服务的网址参数之前,我们先看看页面的请求变化以及request参数的变化:

const http = require(‘http’);

http.createServer((req,res)=>{

// if(req.url !== ‘/favicon.ico’){

// console.log(req.url); // 获取url

// }

// 设置响应头

// 状态码是200,文件类型是html,字符集是utf-8

res.writeHead(200,{“Content-Type”:“text/html;charset=utf-8”}); // 解决乱码

res.write(“”)

console.log(req)

res.end() // 结束响应,如果没写,浏览器刷新按钮会一直转

}).listen(3000)

console.log(‘Server running at http://127.0.0.1:3000/’);

nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议

我们手动修改浏览器上的地址为 http://127.0.0.1:3000/?name=zhang&age=25,然后打开控制台刷新页面,发现Network发起了两次请求,第一次是对页面内容的请求,第二次是对页面图标的请求。

nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议

对照终端req的输出

nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议

nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议

接下来我们使用URLSearchParams类创建url参数实例对象,并加以解析:

const http = require(‘http’);

http.createServer((req,res)=>{

// 屏蔽图标的请求

if(req.url !== ‘/favicon.ico’){

// 截取/?name=zhang&age=25后面的参数创建URLSearchParams实例对象

const params = new URLSearchParams(req.url.slice(2))

console.log(params)

console.log(params.get(‘name’))

console.log(params.get(‘age’))

}

// 设置响应头

// 状态码是200,文件类型是html,字符集是utf-8

res.writeHead(200,{“Content-Type”:“text/html;charset=utf-8”}); // 解决乱码

res.write(“”)

res.end() // 结束响应,如果没写,浏览器刷新按钮会一直转

}).listen(3000)

console.log(‘Server running at http://127.0.0.1:3000/’);

nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议
下一篇 nodejs项目实战教程02——nodejs应用自动更新

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议
nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议
nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议
nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议
nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议
nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议

计算机网络

  • HTTP 缓存

  • 你知道 302 状态码是什么嘛?你平时浏览网页的过程中遇到过哪些 302 的场景?

  • HTTP 常用的请求方式,区别和用途?

  • HTTPS 是什么?具体流程

  • 三次握手和四次挥手

  • 你对 TCP 滑动窗口有了解嘛?

  • WebSocket与Ajax的区别

  • 了解 WebSocket 嘛?

  • HTTP 如何实现长连接?在什么时候会超时?

  • TCP 如何保证有效传输及拥塞控制原理。

  • TCP 协议怎么保证可靠的,UDP 为什么不可靠?

nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

算法

  • 链表

  • 字符串

  • 数组问题

  • 二叉树

  • 排序算法

  • 二分查找

  • 动态规划

  • BFS

  • DFS

  • 回溯算法

    nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议
    a878.png)

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

算法

  • 链表

  • 字符串

  • 数组问题

  • 二叉树

  • 排序算法

  • 二分查找

  • 动态规划

  • BFS

  • DFS

  • 回溯算法

    nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化,2024年程序员学习,http,面试,网络协议文章来源地址https://www.toymoban.com/news/detail-847154.html

到了这里,关于nodejs项目实战教程01——http服务和URL类,前端开发社招面试解答之性能优化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【宝塔面板部署nodeJs项目】网易云nodeJs部署在云服务器上,保姆级教程,写网易云接口用自己的接口不受制于人

    看了很多部署的,要么少步骤,要么就是写的太简洁,对新手不友好 参考链接 网易云音乐API 安装及部署 全过程【本地跑项目以及远端部署 均详解】 服务器如何上线node.js项目【项目放置在github中】 宝塔部署nodejs项目 参考多篇文章,主要为上3篇,才总结本篇 提示:这里可

    2024年02月03日
    浏览(38)
  • 从零开始的Django框架入门到实战教程(内含实战实例) - 01 创建项目与app、加入静态文件、模板语法介绍(学习笔记)

      Django是目前比较火爆的框架,之前有在知乎刷到,很多毕业生进入大厂实习后因为不会git和Django框架3天就被踢掉了,因为他们很难把自己的工作融入到整个组的工作中。因此,我尝试自学Django并整理出如下笔记。   在这部分,我将从Django的安装讲起,从创建项目到制

    2024年02月09日
    浏览(59)
  • 【SpringBoot教程】SpringBoot开发HTTP接口GET请求实战

    ⛪ 专栏地址 系列教程更新中 🚀 专栏介绍: 本专栏为SpringBoot+Spring+Mybatis的系列零基础教程,从框架的基础知识讲起,从0开始实现一个在线教育实战项目 🚀 源码获取 : 项目中的资料可以通过文章底部公众号联系我获取,或者+V 【yopa66】备注SSM 1.快速创建一个SpringBoot项目 项

    2024年02月01日
    浏览(42)
  • 前端通信(解析url、异步、跨域、http、缓存、安全)自用笔记

    目录 请求头,响应头 HTTP版本、状态码 web安全 浏览器缓存、本地存储 SSR/CSR:HTML拼接?网页源码?SEO/交互性 解析url  合成 URL-本地缓存/拦截请求-DNS解析IP/端口号(域名缓存) TCP-HTTP请求 同步 js标签跨域、url 异步 web-worker(创建分线程):适用于计算密集型任务 index.js为加

    2024年01月24日
    浏览(34)
  • 【Nodejs】使用Nodejs搭建HTTP服务,并实现公网远程访问

    转载自内网穿透工具的文章:使用Nodejs搭建HTTP服务,并实现公网远程访问「内网穿透」 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation(原为 Node.js Foundation,已与 JS Foundation 合并)持有和维护,亦为 Linux 基金会的项目。Node.js

    2024年02月06日
    浏览(81)
  • 【前端开发环境安装、配置、项目搭建全教程】

    简单的说 Node.js 就是运行在服务端的 JavaScrip,基于 Chrome JavaScript 运行时建立的一个平台,Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度非常快,性能非常好。 1.node.js官网下载:下载地址 2.依据自己电脑Windows、macOS选择安装

    2024年03月13日
    浏览(52)
  • 使用Docker部署前端项目实战教程,该踩的坑我都帮你踩了!

    每个人的前半生,都在不停地做加法。可到了后半生,我们就要学会不断地做减法。 目录 前置工作 1、需要准备的东西 2、连接云服务器 安装Docker环境  1、安装Docker的依赖库。 2、添加Docker CE的软件源信息。  3、安装Docker CE。 4、启动Docker服务。 准备Dockerfile并部署项目(构

    2023年04月08日
    浏览(45)
  • 前端本地原生开发好用的 http server 服务(npm 包形式、支持热更新、简单好用)

    有时候在本地原生网页开发的时候,需要起一个服务能够直接访问当现在正在开发 index.html 等内容,也就是希望通过 npm 包在进入项目文件夹后,直接可以起一个 可访问的 http 链接 ,不希望在去安装 nginx 。 下面例举几个: serve:为本地静态页面创建一个可访问的服务,不支

    2024年02月04日
    浏览(45)
  • nodejs + express 实现 http文件下载服务程序

    nodejs + express 实现 http文件下载服务程序, 主要包括两个功能:指定目录的文件列表,某个文件的下载。 假设已经安装好 nodejs ; cd /js/node_js ; 安装在当前目录的 node_modules/ npm install express --save  npm install express-generator --save D:js node node_js/node_modules/express-generator -e blog cd blog ins

    2024年02月07日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包