Web站点的组成—软件测试专项技术(3)

发表于:2020-4-22 10:10

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:51Testing教研团队    来源:51Testing软件测试网原创

  1.1.6  Web站点的组成
  在本节中,以访问地址http://172.21.200.189/oscommerce/index.php为例,介绍Web站点的组成。
  1.协议类型
  上述访问地址中的"http"表明使用的协议是HTTP。当访问FTP站点时,前缀将会是ftp。
  如果使用"https://"作为前缀,则表明是用SSL加密的,这会使客户端与服务器之间的信息传输更加安全。
  2.主机名
  这里的主机名是172.21.200.189,是一个内网的IP地址。在实际生产和生活中看到的大部分主机名是域名,如http://www.51Testing.org,IP地址和主机名是等价的。域名的作用是帮助用户记住这个地址。
  可以举一个形象的例子来说明域名和IP地址之间的关系。IP地址相当于学校的地址,如上海市云南北路59号,因为它记起来太费劲,不能每次描述地点时都给出上海市云南北路59号,所以有了域名。域名相当于房子的别名,如六合大厦。
  另外,使用域名www.baidu.com进行举例说明,它是由两部分构成的。在互联网上能唯一标识网址的顶级域名是baidu.com,而www只是该顶级域名的一个子域名,如baidu.com这个顶级域名下除了www.baidu.com外,还有ditu.baidu.com、baike.baidu.com等。
  3.端口号
  这里的端口号主要是指Web服务器开放的端口号。当访问一个网站时,不能只给定主机名,还必须指定端口号。就像寄信一样,邮寄地址不能只写上海六合大厦,这样信可能会收不到,还需要写清楚门牌号1510,这样的地址才是完整的。一张网卡可以分配0~65535个端口,如果只指定主机名,则相当于只能定位到这块网卡,但是不知道哪个端口,这样无法进行通信。这本身是由TCP/IP决定的。需要注意的是,0~1024范围内的端口通常都由操作系统或常见服务所占用,1024以后的端口可供用户自由分配。
  常用的端口号如下所示。
  ●对于HTTP,默认端口号是80。
  ●对于FTP,默认端口号是21。
  ●对于SSH协议,默认端口号是22。
  ●对于HTTPS,默认端口号是443。
  ●对于POP3,默认端口号是110。
  ●对于SMTP,默认端口号是25。
  另外一些常见的服务的端口号如下所示。
  ●对于MySQL数据库,默认端口号是3306。
  ●对于SQL Server数据库,默认端口号是1433。
  ●对于Oracle数据库,默认端口号是1521。
  那么为什么我们访问网站时没有输入任何端口号呢?这是因为如果不指定端口号,则浏览器将以HTTP默认的端口号80来与服务器建立连接,我们不能忽略它的存在。
  4.页面文件
  页面文件用于指定要访问服务器上的哪个文件。当访问http://172.21.200.189/ oscommerce/index.php这个页面时,打开的页面就是index.php文件中的内容。
  虽然大部分时间没有专门输入文件名,但是为什么可以访问呢?那是因为访问的是网站的首页。每个网站的首页都会有一个默认主页,如index.php、default.asp等。其作用在于如果不指定访问哪个页面文件,那么就直接访问这个默认首页。
  5.URL参数
  例如,登录腾讯微博的一个页面,如图1-4所示。
  图1-4  腾讯微博中一个页面的地址
  其中,在问号后面紧跟着的就是统一资源定位符(Uniform Resource Locator,URL)参数,它是一组键值对应的字符串,如pgv_ref=im.perinfo.perinfo.icon。如果有多个URL参数,那么它们之间以"&"来分隔。
  可以发现,URL参数是用户可以自行输入任意数据的地方。既然能任意输入,就免不了受到恶意输入的影响,如最典型的SQL注入方式之一就利用了URL参数作为攻击入口。
  试想一下,如果这个地址中的用户名jessie_version被更改为另一个用户名,那么是不是能绕过登录环节直接修改别人的微博内容呢?
  尝试修改一下,如图1-5所示。
  图1-5  URL修改后
  输入新的URL并按Enter键后发现,可以直接访问别人的微博!不过腾讯公司已经把权限设置为仅能浏览而不可修改。
  完整的URL示例如图1-6所示(注意,图1-6中的172.16网段是内网网段)。其中,http 表示协议类型;172.16.200.221表示"主机名:域名"和IP地址等价;8008表示端口号;agileone/index.php表示页面文件;最后的省略号表示附加部分--URL参数。
  图1-6  完整的 URL


查看《软件测试专项技术--基于Web、移动应用和微信》全部连载内容>>
版权声明:51Testing软件测试网获得人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号