web运行原理与操作系统 | 学习笔记1

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: web运行原理与操作系统理论的讲解

目录

01 网站是怎么搭建的
02 常用的中间件
03 网站的运行
04 DNS讲解
05 windows操作系统
06 Linux操作系统

01 网站是怎么搭建的

一个网站的搭建离不开服务器、中间件、数据库、代码、静态资源这五个部分

服务器
一种管理计算资源的计算机,他比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。服务器具有高速的CPU运算能力、长时间的可靠运行、强大的I/O外部数据吞吐能力以及更好的扩展性。通常利用服务器操作系统来搭建网站。

数据库
按照数据结构来组织、存储和管理数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

中间件
中间件是介于应用系统和系统软件之间的一类软件,就比如apache、nginx、tomcat、iis这些中间件,网站是一个装修好的房子,中间件就是装修房子用的钢筋混凝土。是不可缺少的一部分。

代码
也就是后端代码,就是我们常见的C,C++,java,python,php等等,这些就属于后端代码,专门用于写网站功能,和连接数据库的。

静态资源
静态资源也就是前端代码,前端代码就包括html、css、js,前端就是专门用于装修网站,就和你房子装修了一样(注意:HTML是超文本标记语言,不是编程语言哦)

02 常用的中间件

在web渗透中,中间件的漏洞也不少,那么接下来我们详细介绍一下现在常用的几个中间件。

Apache(音译为阿帕奇是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
图片1.jpg

Nginx是一款轻量级的Web服务器反向代理服务器及电子邮件代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。图片2.jpg

Tomcat是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。主要是用于java。图片3.jpg

IIS是Internet Information Services的缩写,是一个World Wide Web server。Gopher server和FTP server全部包容在里面。 IIS意味着你能发布网页,并且有ASP、JAVA、VBscript产生页面,有着一些扩展功能。IIS,互联网信息服务,是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。最初是Windows NT版本的可选包,随后内置在Windows 2000、Windows XP Professional和Windows Server 2003一起发行。图片4.jpg

03 网站的运行原理

(一)网站的常用术语
客户端:连接到互联网的应用程序,即浏览器
服务器:能上网的计算机,用于接收和处理用户的请求信息
IP地址:互联网协议地址,TCP/IP网络设备的数字标识符,用于识别和通信,ipv4和ipv6
域名:用于标识一个或多个ip地址
DNS:域名系统,用于跟踪计算机的域名及其在互联网上相应的ip地址
ISP:互联网服务提供商
TCP/IP:传输控制协议/互联网协议
HTTP:超文本传输协议

(二)运行原理
1、输入网址,如www.baidu.com(http://www.baidu.com),http是协议,www是网络服务类型,baidu.com是域名;
2、浏览器与ISP通信,在DNS中查找www.baidu.com的IP地址,然后发送给DNS服务,最后向www.baidu.com的IP地址发送请求;
3、浏览器获取IP地址和端口,打开TCP套接字连接,实现浏览器和web服务器的连接;
4、发送用户HTTP请求给服务器;
5、web服务器根据请求查找相应的HTML页面,并返回。

(三)运行原理图
图片5.jpg

04 DNS的讲解
DNS域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。
图片6.jpg

为什么会有DNS呢?
原因很简单,当我们在上网的时候,通常输入的是网址,我们能记住的是域名,而网络上的计算机彼此之间只能用IP地址才能相互识别。例如访问今日头条,我们可以在浏览器的地址栏中输入网址,也可输入IP地址,但是IP地址不好记,于是有了域名,这样我们可以很容易的记住。

05 Windows操作系统

windows操作系统,是由美国微软公司(Microsoft)研发的操作系统,问世于1985年。起初是MS-DOS模拟环境,后续由于微软对其进行不断更新升级,提升易用性,使Windows成为了应用最广泛的操作系统。

Windows采用了图形用户界面(GUI),比起从前的MS-DOS需要输入指令使用的方式更为人性化。随着计算机硬件和软件的不断升级,Windows也在不断升级,从架构的16位、32位再到64位,系统版本从最初的Windows 1.0到大家熟知的Windows 95、Windows 98、Windows 2000、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10、Windows 11和Windows Server服务器企业级操作系统,微软一直在致力于Windows操作系统的开发和完善。

06 Linux操作系统

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,Linux有上百种不同的发行版,如基于社区开发的debian、centos,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。

windows和Linux有什么区别呢
1、 内核不同,Linux操作系统使用Linux内核,Windows操作系统使用NT内核;Linux内核代码开源,NT内核代码闭源,也就是说任何人都可以拿着Linux内核代码改成自己喜欢的风格来用,不过前提是你得是技术大牛。
2、Linux是免费的,Windows是收费的,不过不代表所有Linux都是免费的,有一部分进行商业运作的Linux是收费的,比如Redhat Linux。
3、Windows软件支持丰富,而Linux软件支持就很少了,因为Windows硬件驱动厂商支持全面,Linux驱动这块不如Windows全面,比如百分之九十九的游戏都可以在Windows上运行,而Linux上只有很简陋的游戏。
4、Windows易用性高,Linux操作系统有一定的门槛,Linux使用命令行字符模式为主要操作方式,Windows使用窗口、图标、鼠标点击形象化的方式为主要操作方式,如果不懂命令行,基本使用Linux是寸步难行的。
5、市场和安全性,Linux市场主攻服务器市场,Windows系统主打桌面市场,Linux主要应用于网络,而Windows操作系统最开始应用于打印服务。Linux安全性比Windows安全性高,要求它更加可靠。

下篇文章:虚拟机环境的搭建

目录
相关文章
|
22天前
|
存储 安全 Shell
深入浅出操作系统:从原理到实践
【9月更文挑战第21天】在数字时代的浪潮中,操作系统扮演着至关重要的角色。本文将深入探究操作系统的奥秘,从其基本概念和核心原理出发,逐步引导读者理解操作系统的工作机制。我们将通过生动的例子和实用的代码片段,揭示操作系统如何管理计算机硬件资源、提供用户接口以及确保系统安全与性能优化。无论你是初学者还是有一定基础的开发者,这篇文章都将为你打开一扇通往操作系统深层世界的大门。准备好跟随我们的脚步,一起探索这个让计算机变得生动起来的神奇软件吧!
56 8
|
1天前
|
前端开发 Java API
JAVA Web 服务及底层框架原理
【10月更文挑战第1天】Java Web 服务是基于 Java 编程语言用于开发分布式网络应用程序的一种技术。它通常运行在 Web 服务器上,并通过 HTTP 协议与客户端进行通信。
9 1
|
14天前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
15天前
|
安全 关系型数据库 Shell
Web安全-浅析CSV注入漏洞的原理及利用
Web安全-浅析CSV注入漏洞的原理及利用
23 3
|
16天前
|
Unix Linux Windows
操作系统的演变与基本原理
本文旨在深入探讨操作系统的历史演变过程及其背后的设计原理。通过对不同时期典型操作系统的分析,本文揭示了它们如何响应技术挑战和社会需求的变化。此外,文章还将阐述操作系统的核心功能和关键技术,如进程管理、内存管理和文件系统,并探讨这些技术如何影响计算机系统的性能和可靠性。通过综合历史案例和技术分析,本文希望为读者提供一个全面而深入的理解,为什么操作系统是现代计算不可或缺的基石。
22 1
|
21天前
|
中间件 API 开发者
深入理解Python Web框架:中间件的工作原理与应用策略
在Python Web开发中,中间件位于请求处理的关键位置,提供强大的扩展能力。本文通过问答形式,探讨中间件的工作原理、应用场景及实践策略,并以Flask和Django为例展示具体实现。中间件可以在请求到达视图前或响应返回后执行代码,实现日志记录、权限验证等功能。Flask通过装饰器模拟中间件行为,而Django则提供官方中间件系统,允许在不同阶段扩展功能。合理制定中间件策略能显著提升应用的灵活性和可扩展性。
20 4
|
4天前
|
小程序 iOS开发 MacOS
MacOS环境-手写操作系统-44-运行简单的程序
MacOS环境-手写操作系统-44-运行简单的程序
13 0
|
28天前
|
存储 安全 Linux
探索操作系统:从原理到实践
【9月更文挑战第14天】本文深入探讨了操作系统的核心概念,通过分析其设计原则和功能,揭示了操作系统如何管理计算机硬件资源、提供用户接口并确保系统安全。文章不仅阐述了操作系统的基本原理,还通过实际代码示例展示了如何在操作系统上进行编程,旨在帮助读者更好地理解并应用操作系统知识。
33 1
|
1月前
|
算法 调度 UED
操作系统中的进程管理:原理与实践
在数字世界的心脏跳动着无数进程,它们如同细胞一般构成了操作系统的生命体。本文将深入探讨进程管理的奥秘,从进程的诞生到成长,再到最终的消亡,揭示操作系统如何协调这些看似杂乱无章却又井然有序的活动。通过浅显易懂的语言和直观的比喻,我们将一起探索进程调度的策略、同步机制的重要性以及死锁问题的解决之道。准备好跟随我们的脚步,一起走进操作系统的微观世界,解锁进程管理的秘密吧!
47 6
|
2月前
|
存储 算法 安全
【第二章】软件设计师 之 操作系统基本原理
这篇文章是软件设计师备考资料的第二章,讲解了操作系统的基本原理,包括操作系统概述、进程状态转换、同步与互斥问题、PV操作、死锁问题与银行家算法、存储管理、文件系统和设备管理等关键知识点。
【第二章】软件设计师 之 操作系统基本原理