测试开发之前端篇-Web前端简介

BitOrbitMaster
• 阅读 1409

自从九十年代初,人类创造出网页和浏览器后,Web取得了长足的发展,如今越来越多的企业级应用也选择使用Web技术来构建。

前面给大家介绍网络协议时讲到,您在阅读这篇文章时,浏览器是通过HTTP/HTTPS协议向服务器发送请求、并显示了其响应内容的。本文给大家简要介绍下,网页在浏览器中展现和互动时,主要涉及到的以下几个方面的技术。希望此系列文章,对大家工作中的Web测试用例设计、自动化测试,以及网站问题定位有所帮助。

HTML(HyperText Markup Language,超文本标记语言)

用于描述网页的结构和内容,包涵了很多标签(tag)组成的元素(element)。如使用段落标签p,可以定义一个形如<p>hello world</p>的段落元素。

在浏览器窗口中,按F12键打开”开发人员工具“,在名为Elements的标签中,您可以查看到整个页面的HTML代码。

<html>
  <head>
    <title>网页标题</title>
    <meta name="keywords" content="测试开发,自动化测试,软件测试">
    <style type="text/css">
     h3 {color: blue}
    </style>
  </head>
  </head>
  <body>
    <div>
      <h3>这是一个标题</h3>
      <p>这是一个段落。</p>
    </div>
  </body>
  <script type="text/javascript">
    console.log('hello world')
  </script>
</html>

其中,各元素的解释如下:

  • head: 文档头部,包含网页的信息元素;

    • title: 文档标题;
    • meta: 元数据,这里的keywords设置了一些可供搜索引擎检索的关键字;
    • style: CSS样式表,详见后续章节;
  • body: 文档主体,包含页面所要展示的内容;
  • script:JavaScript脚本,详见后续章节。

CSS(Cascading Style Sheets,层叠式样式表)

定义如何显示 HTML里的元素,包括其布局、大小、风格、色彩等,从而实现网页的内容和显示方式相分离。

<style type="text/css">
  h3 {color: blue}
</style>

这里的样式针对h3元素设置了color属性,效果为h3标签中的文字显示为蓝色。

JavaScript(动态脚本语言)

运行于浏览器中的一种动态解析脚本语言,用于客户端和服务器的数据交换,并实现网页同用户的交互等。

<script type="text/javascript">
  alert('hello world')
</script>

以上JavaScript代码,在页面加载结束后,会在弹出一个内容为”hello world“警告窗口。

Web服务器

主要用于解析HTML、图片、CSS、JS等静态资源,如Nginx服务器。有些Web服务器可以通过配置相应的程序模块,实现动态内容的解析,如Apache使用模块解析PHP语言编写的脚本。

应用服务器

完成业务逻辑处理,同更持久层(如数据库)交换数据,装载数据到模板生成静态网页等功能。通常应用服务器也会内嵌一个Web服务器,以实现将处理好的静态网页以HTML流的形式返回给浏览器。

前后端分离

传统的Web应用是在服务器端生成静态HTML响应的,比如PHP、ASP、JSP等。前后端分离的架构下,网页的静态部分更接近于一个HTML模板,浏览器从服务器获取模板后,再通过执行JavaScript来请求服务器、获取数据、装载到模板,最终在用户自己的设备上完成网页的渲染。

专题目录

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表(关于日期时间时分秒显示不出来)
在使用皕杰报表设计器时,数据据里面是日期型,但当你web预览时候,发现有日期时间类型的数据时分秒显示不出来,只有年月日能显示出来,时分秒显示为0:00:00。1.可以使用tochar解决,数据集用selecttochar(flowdate,"yyyyMMddHH:mm:ss")fromtablename2.也可以把数据库日期类型date改成timestamp
Wesley13 Wesley13
3年前
HTTP报文
一、HTTP概述(一)什么是HTTP协议?  当在web页面输入url后,浏览器会向web服务器请求资源以显示web页面,而它们之间使用的就是HTTP协议(HyperTextTransferProtocol,超文本传输协议),浏览器就是基于HTTP协议进行文档传输的。(二)HTTP协议的特点1、
Stella981 Stella981
3年前
Servlet主要相关类核心类 容器调用的过程浅析 servlet解读 怎么调用 Servlet是什么 工作机制
WEB简介Web项目是B/S结构浏览器/服务器模式的浏览器发起请求,服务器作出响应请求的发起和响应使用HTTP协议进行通讯所谓协议也就是一种固定格式而Socket是应用层与传输层的一层编程接口,屏蔽了传输层的细节所以Web项目也就是通过Socket发送HTTP请求和响应的过程只不过请求是浏览器发出来的响应是服务器发
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Wesley13 Wesley13
3年前
PHP实现异步调用方法研究
浏览器和服务器之间是通过HTTP协议进行连接通讯的。这是一种基于请求和响应模型的协议。浏览器通过URL向服务器发起请求,Web服务器接收到请求,执行一段程序,然后做出响应,发送相应的html代码给客户端。这就有了一个问题,Web服务器执行一段程序,可能几毫秒就完成,也可能几分钟都完不成。如果程序执行缓慢,用户可能没有耐心等下去,就关闭浏览器了
Mebius Mebius
1年前
什么是代理ip?代理ip的用途有哪些?该如何获取代理ip?
我们在网页中输入网址后发生了什么呢?1.浏览器获取域名2.通过DNS协议获取域名对应服务器的ip地址3.浏览器和对应的服务器通过三次握手建立TCP连接4.浏览器通过HTTP协议向服务器发送数据请求5.服务器将查询结果返回给浏览器6.四次挥手释放TCP连接7
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(