node.js 开发网站和传统PHP等开发网站的区别|学习笔记

简介: 快速学习 node.js 开发网站和传统PHP等开发网站的区别

开发者学堂课程【Node.js 入门与实战node.js 开发网站和传统PHP等开发网站的区别】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/588/detail/8246


node.js 开发网站和传统PHP等开发网站的区别

 

目录

一、 传统模式开发web应用程序

二、 Node.js开发web应用程序

三、 总结

 

一、传统模式开发web应用程序

通过 node.js 和传统的 PHP,ASP 等模式都可以开发网站。 node.js 开发网站和 PHP、Java、ASP.net 等传统模式开发网站应用程序的区别如下:

传统的网站开发首先必须有一个 web 容器,比如 apache服务器,而通过 node.js 开发网站不需 要 web 容器,因为 node.js本身就可以创建一个 http 服务器,它本身就是一个 http 服务器。

image.png

这幅图是传统的网站开发,左边是浏览器,右边是服务器,服务器是一台计算机,左边浏览器向服务器的域名某个端口8080发起了请求,服务器会出现很多进程,其中有一个进程是 Apache 进程。在下图中,进程2是web容器,web服务器进程。

Apache 外部服务器,外部容器安装在服务器计算机上,并且Apache默认监听8080端口,当浏览器请求服务器8080端口时,服务器收到浏览器请求,然后服务器检查自身进程中哪个进程正在监听8080端口。

服务器检查到Apache正在监听8080端口,请求就被交给 Apache 服务器,之后,Apache 服务器判断用户,把用户请求报文解析,根据用户请求作出一些处理。 

比如判断请求是静态资源,例如 html 网页,css 图片,Apache 服务器会直接去磁盘上找到对应的文件,并且读取这个文件,读取到之后,会把内容直接响应给浏览器,然后浏览器就可以显示网页或者图片。

如果用户请求,8080端口不是静态资源,例如请求的是A.PHP动态网页,同样,请求到之后,根据端口号,服务器把请求交给 Apache 服务器 web 容器,Apache 服务器把 A.PHP 代码扔到一个 PHP 模块中,把 A.PHP 中的所有代码执行一遍。

执行完毕以后会生成一个结果比如生成一个 html 网页。把生成的结果再返回给 Apache 服务器,然后 Apache 服务器把生成的结果再返回给浏览器,浏览器就可以看到请求 A.PHP 页面的最终结果。在刚才的 PHP 开发网站过程中,核心的东西是 Apache 服务器,web 容器,可能是 Apache 服务器,IIS 服务器,Tomcat 服务器等等都被称为 web 容器。

它们的作用是监听用户的请求,并且根据不同的请求作出不同的处理,静态资源直接读取,动态资源交给对应的 PHP 模块处理。

这是传统的 web 网站开发方式,必须有 web 容器,比如是 Apache 服务器

 

二、Node.js开发web应用程序

对于 node.js 开发不同的是:

核心区别是使用 node.js 开发网站不需要 web容器,不需要 Apache 服务器。因为 node.js 本身就是基于更底层的 HTTP 协议开始的,它本身就是一个 HTTP 服务器,不需要 web 容器。

过程是,左边是一个浏览器,右边是一个服务器计算机,在右边计算机上安装 node.js 应用程序,安装好 node.js 以后,要启动网站,相当于启动 node.js文件,比如使 node.js 进程监听8080端口,因为没有 web 容器,没有 Apache,所有 node.js 本身就在监听8080端口。

当他在监听8080端口时,浏览器向服务器8080端口发起请求,然后服务器收到一个请求,是请求8080端口,计算机上拥有很多进程,发现是 node.js 进程在监听8080端口,然后它就把请求直接交给 node.js 进程来处理。

node.js 接到请求,无论是请求静态资源还是请求动态资源,都是 node.js 中由人工编写代码处理请求。

如果用Apache 服务器,有一部分静态资源,Apache 服务器会帮助处理,但是使用 node.js 任何一个请求都必须人工亲自书写代码来处理。

这就是传统模式与node.js的核心区别。

但是,使用 node.js 开发网站需要自己编写代码会导致效率低,所以在 npm 上已经写好,就是一个 web 开发框架,当使用这些 web 开发框架,开发网站的速度并不会降低。 image.png

三、总结

node.js 开发网站和传统模式开发网站核心的区别

第一:传统模式开发 web 应用程序,有 web 容器,只需要在web 容器中写对应的动态页面。而通过 node.js 开发web 应用程序,不需要 web 容器,node.js 本身就是一个 http 服务器。

第二、node.js 开发web 应用程序每一个请求过来以后都需要自己写代码处理,如果不写代码处理。那么请求就无法处理。

相关文章
|
29天前
|
Web App开发 JavaScript 前端开发
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念,包括事件驱动、单线程模型和模块系统;探讨其安装配置、核心模块使用、实战应用如搭建 Web 服务器、文件操作及实时通信;分析项目结构与开发流程,讨论其优势与挑战,并通过案例展示 Node.js 在实际项目中的应用,旨在帮助开发者更好地掌握这一强大工具。
45 1
|
8天前
|
Linux PHP 数据安全/隐私保护
2024授权加密系统PHP网站源码
2024授权加密系统PHP网站源码
89 58
|
20天前
|
Web App开发 JavaScript 前端开发
Node.js开发
Node.js开发
34 13
|
27天前
|
存储 JavaScript 前端开发
深入浅出Node.js后端开发
在数字化时代的浪潮中,后端开发作为连接用户与数据的桥梁,扮演着至关重要的角色。本文将以Node.js为例,深入探讨其背后的哲学思想、核心特性以及在实际项目中的应用,旨在为读者揭示Node.js如何优雅地处理高并发请求,并通过实践案例加深理解。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和思考。
|
24天前
|
Web App开发 开发框架 JavaScript
深入浅出Node.js后端开发
本文将带你领略Node.js的魅力,从基础概念到实践应用,一步步深入理解并掌握Node.js在后端开发中的运用。我们将通过实例学习如何搭建一个基本的Web服务,探讨Node.js的事件驱动和非阻塞I/O模型,以及如何利用其强大的生态系统进行高效的后端开发。无论你是前端开发者还是后端新手,这篇文章都会为你打开一扇通往全栈开发的大门。
|
27天前
|
Web App开发 开发框架 JavaScript
深入浅出Node.js后端开发
在这篇文章中,我们将一起探索Node.js的奇妙世界。无论你是刚接触后端开发的新手,还是希望深化理解的老手,这篇文章都适合你。我们将从基础概念开始,逐步深入到实际应用,最后通过一个代码示例来巩固所学知识。让我们一起开启这段旅程吧!
|
27天前
|
关系型数据库 MySQL PHP
PHP与MySQL的无缝集成:构建动态网站的艺术####
本文将深入探讨PHP与MySQL如何携手合作,为开发者提供一套强大的工具集,以构建高效、动态且用户友好的网站。不同于传统的摘要概述,本文将以一个生动的案例引入,逐步揭示两者结合的魅力所在,最终展示如何通过简单几步实现数据驱动的Web应用开发。 ####
|
23天前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
本文将带领读者从零基础开始,一步步深入到Node.js后端开发的精髓。我们将通过通俗易懂的语言和实际代码示例,探索Node.js的强大功能及其在现代Web开发中的应用。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的见解和技巧,让你的后端开发技能更上一层楼。
|
26天前
|
JavaScript 前端开发 API
深入理解Node.js事件循环及其在后端开发中的应用
本文旨在揭示Node.js的核心特性之一——事件循环,并探讨其对后端开发实践的深远影响。通过剖析事件循环的工作原理和关键组件,我们不仅能够更好地理解Node.js的非阻塞I/O模型,还能学会如何优化我们的后端应用以提高性能和响应能力。文章将结合实例分析事件循环在处理大量并发请求时的优势,以及如何避免常见的编程陷阱,从而为读者提供从理论到实践的全面指导。
|
27天前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
本文将带你走进Node.js的世界,从基础到进阶,逐步解析Node.js在后端开发中的应用。我们将通过实例来理解Node.js的异步特性、事件驱动模型以及如何利用它处理高并发请求。此外,文章还会介绍如何搭建一个基本的Node.js服务器,并探讨如何利用现代前端框架与Node.js进行交互,实现全栈式开发。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和深入的理解。
22 4