• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

渗透测试基础-2Web框架简介和Web系统相关概念

武飞扬头像
像风一样9
帮助1

1 Web框架简介

web框架是用来进行Web应用开发的一个软件架构。大多数的web框架提供了一套开发和部署网站的方式。为web行为提供了一套支持的方法。使用web框架,很多业务逻辑外的功能不需要自己再取完善,而使用框架已有的功能就可以。

主要用于动态网络开发。以PHP为例、PHP可以在apache服务器上进行web开发,而不必使用框架。使用PHP进行开发的时候,在不使用框架的情况下,数据库连接就需要自己来实现,页面的生成和显示也是一样。比如框架的话可以完全避免sql注入的工作,而PHP在不用框架的情况下,这部分要自己做。

目前python主流的框架有DjangoFLask;Java目前主流的开发框架是ssm

2 Web工作机制

2.1 Web系统结构示意图

学新通

2.2 Web系统相关概念

2.2.1 网页、网站

我们可以通过浏览器上网看到精美页面,一般都是经过浏览器渲染过的html页面,其中包含css等前端技术。多个网页的集合就是网站

2.2.2 Web容器

Web容器,也叫web服务器,主要提供web服务,也就是常说的http服务。常见的Web容器有Apache/IIS/Nginnx等
注意,Nginnx除了作为Web容器外,还经常用于反向代理以及负载均衡,Nginnx性能高

2.2.3 静态网页

静态网页都是一些.html文件,都是纯文本文件。这些文件包含HTML代码。HTML在浏览器中解释运行

2.2.4 中间件服务器

以上这种,只能单向地给用户展示信息,随着web的发展,信息要双向流动,产生了交互(进行对话)的需求,也就是动态网页的概念;所谓动态就是利用flash、php、asp、java等技术在网页种嵌入一些可运行的脚本,用户浏览器在解释页面时,遇到脚本就启动运行它。

脚本的使用让web服务模式有了“双向交流”的能力,web服务模式也可以像传统软件一样进行各种事务处理,如编辑文件、利息计算、提交表单等,web架构的适用面大大扩展。

这些脚本可以嵌入在页面中,如JS等。也可以以文件的形式单独存放在web服务器的目录里,如.asp、.php、.jsp文件等。这样功能性的脚本越来越多,形成常用的工具包,单独管理,web业务开发时,直接使用就可以了,这就是中间件服务器。

传统意义上的中间件是指flash、php、asp、java等,随着互联网发展,逐渐模糊的中间件的概念,也逐渐模糊了web容器的概念,另外,中间件除了flash、php、asp、java等,常见的还有Weblogic(原是java的中间件,既能当Web容器,又能当中间件,还能做负载均衡),还有Jboss(也是java的中间件,既能当Web容器,又能当中间件)

apache调用php时有两种方法,一种是模块调用,一种是cgi调用。

2.2.4 数据库的出现

静态网页与脚本都是事前设计好的,一般不经常改动,但网站上很多内容需要经常更新,如新闻、博客文章、互动游戏等,这些变动的数据放在静态网页的程序中显然不适合,传统的方法是数据与程序分离,采用专业的数据库。web开发者在web服务器后边增加了一个数据库服务器,这些经常变化的数据存进数据库,可以随时更新。当用户请求页面时,脚本根据用户请求的页面,涉及到动态数据的地方,利用SQL数据库语言,从数据中读取最新的数据,生成“完整”页面,最后发送给用户。

2.3 浏览器访问网站时,数据包流向

当浏览器访问一个网站时,数据包流量是如何流向的?
(1)首先进行域名解析获得网站的IP地址,在进行域名解析时

  • 首先查看本地缓存;
  • 若没有,再查看host文件;
  • 再没有,则再找DNS服务器,而DNS服务器是自动获取IP地址时,DHCP服务器发送给主机的或者网络配置时手动配置的

(2)获得网站的IP地址后,以自己的地址为源IP地址,网站的IP地址为目标IP地址封装IP包;
(3)之后封装帧头帧尾,以自己的MAC地址为源MAC地址,若服务器与自己不在同一个局域网,则以网关的MAC地址为目标MAC地址,而目标MAC地址的获取通过ARP广播或ARP缓存获取。
(4)将数据帧发到网关后,网关进行ACL表的匹配,路由然后通过NAT将源IP的私网地址转换为公网IP地址,发送到公网上
(5)在公网经过层层路由后到达服务器
(6)访问80、443端口,
(7)经过3次握手之后与服务器建立连接
(8)给服务器发送http包
(9)服务器给浏览器发送http响应,响应时

  • 如果浏览器访问的是.html文件,找到文件后直接发送过去
  • 如果浏览器访问的是.php文件,将PHP进行解析,若PHP连接数据库,则查找数据库,将PHP运行结果发给浏览器。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhghfibg
系列文章
更多 icon
同类精品
更多 icon
继续加载