web服务器 - Nginx可不可以理解为一个框架,上面跑的都是什么程序?

查看:130
本文介绍了web服务器 - Nginx可不可以理解为一个框架,上面跑的都是什么程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

web这块东西真的太多了,框架N多种,还有什么web容器,web服务器,这么多名词,对于新手来说简直就是恶梦啊。。。
花了一天时间,稍微清楚了点,

1,其实这些所谓的框架无非就是一些封装,把接口提供给我们使用。

2,web容器么应该算是一个运行环境或者编译器?用来产生html文件的。

3,web服务器这个概念太广了,感觉说不清楚。。。

4,言归正传,Nginx应该属于框架?还是说,它本身就是一个应用程序?还有,在Nginx上面进行开发是用C吗?(注意,不是说Nginx本身是由什么语言开发的),而是Nginx上面跑的程序是由什么语言开发的?只能用C吗?

5,Nginx开发到底是什么意思?如果它本身就是一个应用程序,在应用程序上面再开发一个应用程序?

以上5点不知道有哪几点是对的,可能全错。。。望各位大神解救一下我这个想学web的菜鸟

解决方案

  1. 我非常同意你的观点

  2. web容器,就是一个应用程序,利用应用层的http传输各种格式的数据,例如html,浏览器会根据数据类型分别处理

  3. web服务器概念不大,可以通俗理解为就是一个赤裸裸的http服务,只不过这个http服务传输的web相关的数据

  4. Nginx位于网络的最顶层,属于一个应用。C开发,它支持模块的二次开发。

  5. Nginx开发应该指的是插件的开发,nginx也是有http模块的,但是这个http模块是默认通用的模块,如果你需要定制自己的http的模块你就需要用C二次开发。我们有个需求就是验证请求的合法性,我们的做法就是每个http请求的header里都会有个加密串,然后通过我们自己写的nginx的http模块进行反解,如果不对就block掉,这样无效请求就不会进到我们的业务服务器里。还有一个情况也是最常见的就是用Lua写nginx拓展,例如发布新版本做灰度发布的时候,我们想让少部分用户流量导入新服务器,测试没问题的时候再导入所有流量,这个就可以用lua脚本来实现,写一个nginx组件实现你的个性化需求,当然nginx框架本身提供一些底层的api,所以在写插件的时候你只需要关注你的逻辑而不需要关注底层实现.

nginx开发就像你给一个类写一个类方法一样

这篇关于web服务器 - Nginx可不可以理解为一个框架,上面跑的都是什么程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆