web服务器的复习
网页部署在服务器上,通过浏览器解析,以下是几个主流的服务器,可以看到中国主要是IIS,win自带的也就是IIS。如果是Linux系统,则自带的是Apache,nginx是要自己下载的。
但是这几个到底选哪个?
参见:https://baijiahao.baidu.com/s?id=1660968990177295540&wfr=spider&for=pc
对于本地编写的HTML(就是我们平时可视化作业)来说,可以直接在本地运行,也可以自己下载服务器在服务器上布置,我用的是Apache的Tomcat,在同一局域网下的别人可以通过你的来访问。(因为一般用户没有自己的公网地址啦,所以要只有在同一局域网下才有意义。)
再来记录一下刚刚查到的关于Web服务器端的语言,其实按道理讲想用什么语言实现都可以的。但是目前主流的有Microsoft的ASP、ASP.NET,SUN的JSP和ZEND的PHP,还有java啦(tomcat就是用的java开发的,所以运行的时候要有jdk),不过PHP是我听过最多的。【PHP当然也可以用到其他后端(服务器)上,其他的这几种语言还没来得及了解嘞,构建知识框架真的要看好多才行哦】
前后端的区别
其实后端和服务器没什么区别吧,web服务器就是说Web应用的后端,其他的APP一般说后端。
服务器后端的编程语言:主要是针对web设计的应用
写的很好,但这里我要扩展写一下关于node.js的部分。因为课上用到啦。
百度百科上对node.js的介绍是这样的。
就是说node.js拓展了JavaScript应用,JS语言以前主要用来编写客户端(前端)的。
百度百科中的非浏览器环境应该就是说这个啦,也可以和C,python一样写后端哦。
那么为什么要把 JavaScript 放到服务器端上运行,拓展js语言应用?
主要是为了提高Web服务端应用的性能。【node.js发明者说的】刚好Js比较适合,就想用这个语言了。
对于v8引擎,它也有很多作用,这里我们理解它是为了提高Js的运行和编译速度而升级改造的用C++编写的Js编译器。
更具体的解释看这里。
https://blog.csdn.net/heyeqingquan/article/details/78839699
V8引擎是一个JavaScript引擎实现,最初由一些语言方面专家设计,后被谷歌收购,随后谷歌对其进行了开源。V8使用C++开发,,在运行JavaScript之前,相比其它的JavaScript的引擎转换成字节码或解释执行,V8将其编译成原生机器码(IA-32, x86-64, ARM, or MIPS CPUs),并且使用了如内联缓存(inline caching)等方法来提高性能。有了这些功能,JavaScript程序在V8引擎下的运行速度媲美二进制程序。V8支持众多操作系统,如windows、linux、android等,也支持其他硬件架构,如IA32,X64,ARM等,具有很好的可移植和跨平台特性。
说到这里需要再去看看Js语言的工作原理了,因为不知道JS引擎是啥玩意,以及JS的组成部分中的DOM,还有BOM。
JS是一个解释型语言,不同于C这类是编译型,它的运行速度更慢,效率更低。
但文中说到,Js引擎是执行编译好的可执行码,有点鬼。Js引擎不是把源代码编译成可执行码嘛。
难道编译器和引擎有什么区别?看了下面这篇文章。
《聊聊JavaScript 编译器,引擎,作用域》
https://www.jianshu.com/p/36f5bfc6b7e6/
看完好像觉得有:编译器感觉是引擎的一部分,引擎负责了整个JS程序的编译及执行过程。
我们知道了Js的执行期环境是V8引擎,那么它的宿主环境其实就是外壳程序node.js生成的。node.js提供了JS的运行环境,可以直接用命令行敲代码,但也可用IDE,如WebStorm,sublime等都可。
node.js安装过程
接着再回顾一下HTTP和HTTPS,哈哈哈哈哈,作为应用层的协议,加S,就是加密的,会更安全,我暂且这里肤浅的理解一下。
这里再插一个如何部署服务器呢?