mirror of
https://github.com/ZSCNetSupportDept/website.git
synced 2025-10-29 09:25:04 +08:00
完善了Web后端教程
This commit is contained in:
@@ -27,7 +27,7 @@ httpbin.org 这个网站可以让你试验HTTP协议的方法
|
||||
这样的网页是不能满足大家对互联网的需求的,举例子来说:淘宝上有数不清的商品在售卖,如果淘宝为每一个商品都在服务器目录下面创建一个html文件,好让大家通过访问`http://taobao.com/someproduct.html`来查看商品信息,那这个工作量就非常大了,还有一些更重要的问题:作为服务器的管理员,你如何从商家那里获取他们要卖什么?如何通过网页来让顾客点击按钮就可以下单?
|
||||
|
||||
#### CGI
|
||||
这些都是静态互联网无法解决的问题,所以程序员们开发了一个叫CGI(Common Gateway Interface,通用网关接口)的技术,这种技术在用户请求网站的内容时,让一个脚本劫持用户的请求,返回给用户一个脚本动态生成的html文件,比如,如果用户想知道这台计算机目前的内存和硬盘占用情况,发送`GET http://example.org/status.html`,CGI程序发现给本机请求status.html这个文件,并且代码里写了如果是这个文件的话,就执行系统的相关操作,并将返回结果插入到一个模板html文件中,返回这个文件,于是,用户就受到了CGI程序动态产生的html.
|
||||
这些都是静态互联网无法解决的问题,所以程序员们开发了一个叫CGI(Common Gateway Interface,通用网关接口)的技术,这种技术在用户请求网站的内容时,让一个脚本劫持用户的请求,返回给用户一个脚本动态生成的html文件,比如,如果用户想知道这台计算机目前的内存和硬盘占用情况,发送`GET http://example.org/status.html`,CGI程序发现给本机请求status.html这个文件,并且程序的代码里写了:如果是这个文件的话,就执行系统的相关操作,并将返回结果插入到一个模板html文件中。程序返回这个文件,于是,用户就受到了CGI程序动态产生的html.
|
||||
|
||||
虽然CGI现在很少见了,但是将一个发送到服务器的地址请求劫持到脚本(函数)上是现代动态网站的常用思路。
|
||||
|
||||
@@ -69,7 +69,11 @@ WebSocket是一个全新的协议,支持客户端和服务器的全双工通
|
||||
WebSocket是一个全新的协议,兼容性可能不是那么好,如果要求比较低的话,可以看一看Server-Sent Events,这个协议基于HTTP,允许服务器主动给客户端发送信息,当然也请自行了解。
|
||||
|
||||
#### 在Web上运行应用
|
||||
传统观念里,一个应用程序是在计算机上直接运行的,但是在介绍了上面的技术之后,我们可以想到,在Web上也是可以运行应用程序的,技术的难关已经扫除了,通过现代的高性能JavaScript运行时,可以提供类似于原生的运行速度,通过WebSocket,可以快速的更新内容,现在的HTML和CSS也足够强大,用户的机器性能也越来越强了,而且,开发Web应用可以直接使用成熟的Web技术栈,在浏览器中运行也更安全,以至于现在很多本地的应用也开始使用Web技术了(electron)
|
||||
传统观念里,一个应用程序是在计算机上直接运行的,但是在介绍了上面的技术之后,我们可以想到,在Web上也是可以运行应用程序的,通过现代的高性能JavaScript运行时,可以提供类似于原生的运行速度,通过WebSocket,可以快速的更新内容,现在的HTML和CSS也足够强大,用户的机器性能也越来越强了,而且,开发Web应用可以直接使用成熟的Web技术栈,在浏览器中运行也更安全,以至于现在很多本地的应用也开始使用Web技术了(electron)。现在流行的单页应用(Single Page Application),后端基本上不参与渲染UI,只是为前端提供API接口,这些应用大多数都使用一些前端框架,例如`React.js`或者`Vue.js`,`Next.js`等,许多复杂的功能大多数使用前端完成,也减轻后端的压力,符合“边缘计算”的原则
|
||||
|
||||
例如,我们所使用的腾讯文档,支持多人协作编辑,就使用了WebSocket技术来向你主动发送其他人对文档编辑的信息
|
||||
|
||||
|
||||
|
||||
##### WebAssembly
|
||||
WebAssembly是最近新出现的技术,他允许开发者将C/C++ , Rust等原本的一些编译型语言编译成浏览器可以执行的字节码,使得在浏览器中也可以执行这些程序,目前也有一些使用WebAssembly的应用,可以去看看
|
||||
|
||||
Reference in New Issue
Block a user