Web系统


前言

学习Web漏洞,自然离不开“什么是Web”。百度一下 Web,你可以获得大量的解释。如果想要理解Web、网络,这需要很多前置知识。我们尽量从一个程序员的角度,或者说从一个软件的角度,形成一个思维模型

一、网络通信

如果你学懂了计算机网络原理,Ok!你可能会说什么OSI七层模型等等。那我们从程序员的角度,也可以说从操作系统的角度,网络是一个I/O设备。如果你要问什么是I/O,我建议你去看CSAPP,本文的大部分内容就是源于此书。现在我们理解的I/O,就是操作系统理解为“文件”的事务。所谓的“在UNIX的世界里,一切皆为文件”,就是操作系统的实现代码把底层的一切都抽象为文件,这个抽象模型能让我们以一个统一的接口,实现对不同设备的编程。

网络也是一种I/O设备
那么网络通信,就是通过操作系统提供的网络I/O接口,编写程序,实现两台主机间的信息交换,就是从一台主机复制信息到另一台主机
在这里插入图片描述
从程序员的角度看,把因特网看成一个世界范围的主机集合:
● 主机集合被映射为一组32位的IP地址
● IP地址被映射为一组称为因特网域名(Internet domain name)的标识符
● 因特网主机上的进程能够通过连接(connection)互相通信

说白了就是:操作系统内核实现了一套代码,这套代码就是所谓的TCP/IP分层协议族。逻辑上这些协议都是分层的,实际上层与层之间就是函数调用!因为这些代码大部分都是使用C语言编写的。为了让我们能够使用计算机网络提供的服务,操作系统提供了一组API共我们调用,即socket。利用socket编程,即可编写网络应用程序

二、客户端-服务器编程模型

基于网络复制信息的功能,我们就可以编写网络应用了!每个网络应用都是基于客户端-服务器模型的,服务器管理某种资源,并且通过操作这种资源为客户端提供服务。
● 一个网络应用:
○ 一个服务器进程
○ 多个客户端进程
● 服务器管理某种资源,通过操作这种资源为客户端提供服务
○ Web服务器管理一组磁盘文件,它代表客户端进行检索和执行
○ FTP服务器管理一组磁盘文件,它代表客户端进行存储和检索
○ …
● 事务(transaction)

  • 客户端和服务器执行的一系列步骤
    在这里插入图片描述
    那么,我们可以知道,客户端和服务器都是软件,就是在操作系统中的进程!

三、HTTP 协议

到这里,我们已经知道,Web就是客户端(浏览器)进程与Web服务器进程之间进行网络通信的一套系统。通信就需要规则——协议。Web客户端和服务器之间交互用的是一个基于文本的应用级协议,HTTP!就是客户端发送一段带有一定格式的文本,服务器可以解析这段文本(读懂这段文本的意思),为客户端提供服务。
Web服务器(实现了HTTP协议的软件)以两种不同的方式向客户端提供内容:

  1. 取一个磁盘文件,返回给客户端。
  2. 运行一个可执行文件,将输出返回给客户端。(动态网站技术)

这些文件,都有一个唯一的名字:URL。一个URL对应一个资源!

四、动态网站技术

我们已经知道了客户端进程与服务器进程通信、数据从一台主机复制到另一台主机,通过一个URL访问一个资源·····这些概念,那么,客户端访问一个可执行文件,返回可执行文件运行后产生的内容,这就是动态网站技术。
根据HTTP协议,在客户端发起一个请求,其中携带了一些数据。Web服务器(HTTP服务器)解析这个请求,提取出http request里携带的数据,并根据URL的路径,启动/调用一个程序。
在这里插入图片描述
CGI、Servlet、PHP、ASP等等动态网站技术,都是这样的原理。我们 以一个最常见的功能——登录作为例子:

  1. 在HTTP客户端的表单标签中填写用户名与密码并提交到UserLogin
  2. 服务端(HTTP服务器)接受到请求,封装用户名与密码并提交给UserLogin
  3. UserLogin根据提交过来的数据,进程数据库查询
    • if (查询成功) { 处理相应数据,返回 已登录.html}
    • else { 返回登录失败.html或者用户名/密码错误.html}

大概的事务流程就是这样,对于Web漏洞的学习,还需要深入一点HTTP协议的格式之类的就够了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Web系统和Excel协同是指通过Web平台上的应用程序与Excel软件进行协作和集成,实现数据的共享和交流。 Web系统作为一个基于互联网的应用程序,可以通过浏览器访问并提供各种功能和服务。它可以作为一个数据管理和处理的中心,提供用户注册、登录、权限管理等功能,确保数据安全和用户身份的可控性。同时,Web系统还可以提供数据的展示和分析功能,通过可视化和报表等方式,使数据更易于理解和使用。 而Excel作为一种功能强大的电子表格程序,被广泛用于数据的处理和计算。它可以进行数据的录入、加工、计算等操作,提供统计分析、图表制作等功能。Excel的优势在于它的灵活性和可扩展性,用户可以根据自己的需要进行自定义和扩展。 通过Web系统和Excel的协同,可以实现以下功能和优势: 1. 数据共享和集成:Web系统可以将其内部的数据库与Excel进行集成,实现数据的双向传输和共享。用户可以通过Excel导入、导出和更新数据,实现数据在不同平台之间的无缝连接和协作。 2. 多人协同编辑:多个用户可以同时编辑和更新Excel文件,实现数据的协同编辑和实时更新。通过Web系统的权限管理和版本控制,可以确保数据的一致性和安全性。 3. 数据分析和可视化:Web系统可以提供丰富的数据分析和可视化功能,帮助用户更好地理解和利用Excel中的数据。通过图表、报表等方式,用户可以对数据进行更深入的分析和展示。 4. 自动化和扩展性:Web系统可以通过与Excel的集成,实现对Excel功能的自动化和扩展。用户可以根据自己的需要,编写自定义的Excel宏或脚本,实现数据处理和计算的自动化。 总之,Web系统和Excel的协同可以实现数据的共享、协作和处理,提高工作效率和数据分析的准确性。而且,通过Web系统的灵活性和Excel的强大功能,用户可以根据自己的实际需求进行定制和扩展,实现更多的功能和价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值