产物经理应该相识一些技术知识,才气更好地完成产物的计划设计和技术评估,进步需求实现的质量和服从。与后端产物经理的工作关系最为密切的技术知识,重要包罗网页相关知识、数据库相关知识、系统间数据对接知识等。
1.网页的前端、后端技术
网页前端“三剑客”典型的网页一样平常是由HTML、CSS、JavaScript三种语言共同完成的,这三种语言常被称为网页前端“三剑客”。HTML 相当于一个文档,它通过标签把信息举行编排和涌现;CSS 可以对这些文档举行修饰、美化,提拔视觉效果;JavaScript 实现了网页和用户的互动。假如把页面比作一扇门,那么HTML是门板,CSS是色泽或斑纹,JavaScript就是门的把手。
(1)HTML——网页的主体HTML 是超文本标记语言。之以是被称为“超文本”,是因为它不仅仅实用于纯笔墨,还可以对图片、音乐等超越文本的内容举行标记。HTML并不是一种编程语言,而是一种标记语言,是一种协媾和规范。HTML代码相当于一个带有规范的文档,文档中包含的是涌现给用户的信息,包罗笔墨、图片、链接、声音等。HTML提供了一些标签,用标签标记的方法把想要传递给用户的信息举行有序的分列,并通过浏览器的解析而涌现给用户。HTML文件的格局如下。
我们可以看到,在HTML中有很多用“<;>;”符号括起来的标识,这就是标签。标签就是标识信息展示方式的规范。标签有开始和竣事两部门,两者成对涌现,用斜杠“/”表示竣事,比如 “<;/head>;”。注意,少量HTML元素没有竣事标签。
如上例所示,用顶层标签<;html>;和<;/html>;表示这是一个页面,页面的内容就放在<;html>;和<;/html>;之间。在“头”部标签<;head>;和<;/head>;之间寄存页面的标题,标题可以有多个,以是标题标签可以有多组。在“主体”标签<;body>;和<;/body>;之间寄存网页的主体内容(如我们看到的正文的笔墨、图片等)。由于在网页的主体中有不同类型的内容,因此<;body>;和<;/body>;之间每每夹杂很多不同的标签。段落是通过<;p>;标签举行界说的,示比方下。
链接是通过<;a>;标签举行界说的,布局就是<;ahref="url">;Link text<;/a>;,此中href表示单击链接后跳转的所在,示比方下。
(2)CSS——举行样式的修饰CSS的全称是“层叠CSS文件”,用于界说如何显示HTML元素或XML元素,比如指定笔墨的色彩、大小、字体,以及按钮或输入框的样式等,然后将其插入到HTML 网页的<;style>;标签中,这样展示出来的就是 CSS 设置的风格了。其重要浸染就是对页面举行修饰,实现更好的视觉效果,让用户接收信息更加惬意天然。CSS属于浏览器表明型语言,可以直接由浏览器实行。CSS的代码布局举比方下。
(3)JavaScript——实现操纵活动JavaScript(简写为 JS)是用来控制网页的活动效果的,即内容应该如何对变乱做出反应。比方它可以设置鼠标悬停效果、在客户端验证表单、显示申饬框、设置Cookie等。使用JavaScript代码可以为网页添加各式各样的动态功效,为用户提供更流畅美不美观的浏览效果。网页中全部对数据举行判定、处置惩罚的操纵,以及向浏览者反馈信息的当地代码实现部门,均可以由 JavaScript(虽然也有可能是其他的语言)实现。使用JavaScript 可以使网页更具交互性,给用户提供更令人兴奋的体验,同时减轻了服务器负担。平日,JavaScript 脚本也是通过嵌入 HTML 中来实现自身功效的,其平日位于<;script>;与<;/script>;标签之间,示比方下。
2.网页后端技术
HTML、CSS、JavaScript 三剑客完成了网页的视觉和交互层面的工作,那么谁来完成数据的逻辑处置惩罚和规矩运算工作呢?这时候就需要后端开发语言,比如PHP、Java等。
PHP是一种通用表明型开源脚本语言,具有开发周期短、跨平台、平安、使用普遍等特点。PHP语言将步伐嵌入到HTML文档中去实行,实行服从高。使用PHP语言可以也许更快地完成网页前端频繁而噜苏的更新,自如地应对各类营业需求的变化。因此,页面的布局调整、用户输入内容的基本验证、规矩逻辑等,都得当使用PHP开发。
Java也是常用的后端语言,它可以有用地进步复费用、提拔性能和吞吐能力、规避平安问题。Java语言的运行服从高,不容易犯错,得当大中项目。但Java语言也出缺点,比如其开发复杂、维护成本高等。在国内的大公司里,偏营业的步伐员一样平常都邑使用Java语言。虽然另有其他语言可用于处置惩罚底层逻辑运算,比如ASP.NET、C++等语言。一个完备的网站平日由前端代码实现界面效果,由后端代码完成逻辑运算和数据处置惩罚。这种前后端分别的模式,确保网页性能稳固、快速且平安。
3.浏览器
3.1.浏览器的概念
网页是通过在浏览器上加载来涌现的。浏览器的重要功效是将用户选择的 Web资本涌现出来,其通过向Web服务器哀求资本,并对资本举行解析,将资本中的内容显示在浏览器窗口中。浏览器的种类比较多,对规范的遵照方式并不同等,这也是Web页面兼容性问题的根源。浏览器的用户界面都差不多,常见的用户界面元素包罗:所在栏、进步和后退按钮、书签选项、刷新和暂停按钮、主页按钮等。
2.浏览器的重要组件浏览器相当于一个运用步伐,其展示的内容是由其访问的服务器提供的。浏览器支撑浏览功效的组件包罗但不限于如下。
(1)用户界面:即用户看到的界面,重要包罗所在栏、进步和后退按钮、书签等,也就是浏览器上除了用来显示所哀求页面的主窗口之外的其他部门。
(2)衬着引擎:用来解析并衬着所哀求的内容,即在浏览器窗口中显示所哀求的内容,比如使用PDF检察器插件就能显示PDF文档。衬着引擎是每一个浏览器的核心部门,以是衬着引擎也称为浏览器内核。
(3)浏览器引擎:用来查询及操纵衬着引擎的接口,这也是一个核心功效,相当于浏览器的动力装配。
(4)JavaScript表明器:用来表明并实行JavaScript代码的工具。
(5)数据存储:浏览器需要在硬盘中生存雷同Cookie、缓存的各类数据,其是一种客户端存储技术。
(6)其他组件。
4. 相关的协媾和概念
1.TCP/IP、HTTP协议浏览器可以也许获取并展示页面内容,是通过一些网络协议实现的。网络协议也就是网络标准规范,重要有TCP/IP协议、HTTP协议等。
(1)TCP/IP协议TCP/IP 协议,指传输控制协议/网际协议(TransmissionControl Protocol/Internet Protocol),是用于因特网(Internet)的通信协议,界说了电子设备(比如计算机)如何连入因特网,以及数据如安在它们之间传输的标准。浏览器展示网页内容,需要从服务器获取网页数据,这时候就需要从浏览器(相当于客户端)发起HTTP哀求到服务端,而该哀求是基于TCP/IP协议才气生效的。
(2)HTTP协议HTTP协议,即超文本传输协议(HyperText TransferProtocol),是互联网上运用最为普遍的一种网络协议。浏览器得到了服务器的数据信息之后,该数据信息可能是散乱无序的,如何规范地按照设计者的渴望展示给用户呢?这就用到了HTTP协议。HTTP协议是在TCP/IP协议底子之上建立起来的,其初衷是为了提供一种宣布和接收HTML页面的方法。
(3)工作进程当浏览器输入服务器的IP所在后,即开始通过TCP/IP协议向服务器发起HTTP哀求,建立起与服务器的毗连通道。该通道从服务器 IP 所在获取服务器页面数据,然后依据HTTP协议按照肯定格局予以响应,显示页面。这就是通过浏览器访问页面的框架性的机制和流程。该进程如图2-2所示。
4.1IP所在、域名、网站名、URL、端口
(1)IP所在假如把计算机比作房间,那么 IP 所在就是房间的所在。IP 所在为互联网上的每一个网络和每一台主机分派一个逻辑所在,以此来屏蔽物理所在的差别。比方“163.125.121.123”就是一个电脑的IP所在。服务器也有它的 IP 所在,其实际就是提供服务的那台主机的所在。因此访问服务器的IP所在本身就是访问提供服务的主机上的信息。
(2)域名为对应的 IP 所在指定的一个容易记住的名字,就是域名,比方“google.com”“baidu.com”“163.com”等就是域名。注意,假如域名前面加上“www”,就不再是域名了,而是网站名。域名在本质上是用于标识计算机的电子方位。
(3)网站名网站名是由“服务器名+域名”构成的,比如某网站的域名是“sitename.com”(此网站域名为捏造,与现实中的任何网站无关,下文同),因为想建立一个万维网的服务器,以是就有了网站名“www.sitename.com”。后来其又想运作邮箱服务器,以是也就有了邮箱网址“email.sitename.com”。
为了方便理解上面的概念,我们以网址“http://www.sitename.com/index.html”为例,其各部门的表明如下。
①“http://”是协议,也就是 HTTP 超文本传输协议,即网页在网络上传输的协议。
②“www”是服务器名,代表这是一个万维网服务器。
③“sitename.com”是域名,用来定位网站的独一无二的名字。
④“www.sitename.com”是网站名,由“服务器名+域名”构成。
⑤ 后面的“/”是根目次。用户通过网站名找到服务器,然后就会访问服务器寄存网页的根目次。
⑥“index.html”是根目次下的默认网页(大部门的默认网页都是index.html)。
(4)URL即统一资本定位符,也就是我们平时说的网址。URL的构成为“IP或域名+端口号+资本位置+参数+其他”。URL是网页元素的绝对路径,可以用来定位任何查得到的网页、多媒体文件等。互联网上的每个文件都有一个独一的URL,它包含了文件的位置,以及浏览器对其处置惩罚的方式。比如页面上的每一张图片,都有它独一无二的URL,让你在众多的数据世界中找到它。
5 Web服务器
1.服务器
(1)服务器的概念服务器就是指能对其他设备(客户端)提供某些服务的计算机系统。比如一个计算机对外提供FTP服务,那么它就相当于服务器(端)。基本的服务器就是一台高性能的实体电脑,或者是云端的虚拟机(可以通过互联网租用第三方的云端服务器,比如阿里云、腾讯云)。在网络环境下,依据服务器提供的服务类型不同,其可分为文件服务器、数据库服务器、运用步伐服务器、Web服务器等。服务器与客户端的毗连示意图如图2-3所示。
(2)服务器的特质由于需要提供高靠得住的服务,因此服务器在处置惩罚能力、稳固性、靠得住性、平安性、可扩展性、可管理性等方面的请求较高,详细包罗但不限于如下。
①硬件性能高:服务器在网络中平日以一对多的方式提供服务,需要负担多种运用哀求,因此其硬件必需有能力保障服务质量,对内存、容量、运行速度等硬件性能的请求较高。
②稳固性和平安:服务器需要 24 小时不间断工作,要有靠得住的数据备份机制、快速规复故障的功效,以及数据保密措施。
③可扩展性:服务器需要有更广阔的扩展空间,从而跟着服务对象的数目、服务营业种类的变化而举行扩展和个性化定制。
④与配套办法兼容作业:服务器常常要和从属硬件配合工作,比如互换机、负载均衡器、光缆等。
2.Web服务器
(1)Web服务器的概念不管什么网页资本,若想被长途计算机访问,都必需有一个与之对应的网络通信步伐。当用户访问时,这个网络通信步伐会读取Web资本数据,并把数据发送给来访者。Web服务器就是这样一个步伐,它用于实现底层网络通信,处置惩罚HTTP协议。使用Web服务器,开发者只需要存眷Web资本怎么编写,而不需要关心资本如何发送到客户端手中,从而极大地减轻了开发者的工作量。
(2)Web服务器的工作机制Web页面属于“B/S架构”,即“浏览器/服务器架构”。在这种场景下,客户端使用Web浏览器,通过网络毗连到服务器上,使用HTTP协议发起哀求,告诉服务器“我”如今需要得到哪个页面,然后把全部的哀求交给Web服务器,之后Web服务器依据用户的需要,从文件系统(寄存了全部静态页面的磁盘)取出内容,再返回给客户端。客户端在接收到内容之后经过浏览器衬着解析,得到终极显示的效果。
(3)一对多和多对一的Web服务器假如一个网站必需对应一个Web服务器主机的话,那么很多大公司(比如腾讯)就要有数不尽的服务器。实际上,在一台Web服务器上可以搭建多个网站。
与之相反的另有一种情况,就是多个Web服务器为一个网站提供服务。大型网站的Web服务器都有均衡负载计谋:虽然是一个IP,但对应的可能是多台内部服务器,由负载均衡计谋决定每次访问落实到哪台服务器上。在这种情况下,用户所看到的IP所在,其实所对应的并不是一台Web服务器,而是一个负载均衡器,它负责分发外部哀求到详细的Web服务器上,通过合理管理每天的网上数据流量,来减轻单个服务器上的负担,力图让网络访问者享受最佳的联网体验。负载均衡器将客户端哀求分拨给不同的服务器的示意图如图2-4所示。
6 缓存、Cookie、Session
缓存
(1)什么是缓存缓存即数据互换的缓冲区,简朴说就是暂时存储数据的处所,其可以存储一些高频数据的副本。缓存无处不在,有浏览器端的缓存、服务器端的缓存、数据库的缓存等。浏览器会缓存它浏览过的资本,包罗网页、图片等数据。由于CPU处置惩罚缓存数据的运行速度比内存数据快得多,以是缓存的存在可以进步响应速度,减小服务器压力。
(2)缓存与数据库的对比
①范畴不同。全部具备恒久化存储能力的机制,乃至包罗可以直接读写的当地文件,你都可以说它是“数据库”。全部生存中心的、额外的数据的机制,你都可以说它是“缓存”。
②布局不同。数据库的存储方式严格且多样,而缓存平日是简朴的“key-value”布局(key是关键字,value是关键字的值)的数据。
③处置惩罚速度不同。数据库是存在低速设备上的,每次访问数据库,都要经过“读/取”(I/O)进程,即从磁盘调入内存的进程,该进程是耗时、耗性能的。而访问缓存的速度异常快。从数据布局层面来说:缓存使用了异步非阻塞,使用了动态字符串,并采用了跳跃表。
④范围对比。缓存中有的数据,数据库中肯定有。反之则不建立。缓存中存储的是一些请
2.Cookie和Session倘使我们在电脑上使用账号、密码登录过某网站,那么下次进入该网站时平日会自动登录。这其实就是浏览器的Cookie和Session在起浸染。这两者都是用来生存状况信息的,是为相识决HTTP无状况(即HTTP对前后哀求没有任何辨认能力)的问题而生的。比如用户登录一次,就会生成Session文件,生存到服务器中,并对应生成Session ID,生存到Cookie 文件中。Cookie文件是被生存在客户端中的,其可以在浏览器目次下被查询到。这样下次统一个用户在统一个用户端上登录时,就可以也许通过 Cookie文件中的Session ID,将登录原料调用出来。需要注意的是,假如浏览器禁用了Cookie,那么同时Session也会失效。
3.缓存、Cookie和Session三者的对比缓存与 Cookie、Session 的重要差别在于:缓存的内容比后两者更普遍、数目更大,比如会话信息、秒杀商品、热点新闻、热点商品等需要频繁查询的信息,都邑生存在缓存中。从数据存储位置看,三者对比如表2-2所示。表2-2 缓存、Cookie、Session的存储位置对比
6 页面加载
1.页面加载的进程分析用户打开一个页面,页面框架中的那些不需要加载的内容会先涌现出来,之后浏览器会徐徐拉取服务器上的数据。这就是为什么当用户打开一个页面时,刚开始页面上的部门内容为空缺,需要等待一会才可以也许载入。用户等待的韶光重要花费在下载网页元素上,这些网页元素包罗 HTML、CSS、JavaScript、Flash、图片等内容。每增长一个元素,网页载入的韶光就会增长。以浏览器加载HTML页面为例,我们来简朴看一下页面加载的整个进程。
(1)用户输入网址(假设用户第一次访问该网站),浏览器向服务器发出哀求,服务器返回HTML 文件。
(2)浏览器开始载入 HTML代码。这时发现代码中的<;head>;标签内含有一个<;link>;标签,引用了外部的 CSS 文件,于是浏览器又发出 CSS文件哀求,让服务器返回这个 CSS文件,在获取该文件后,浏览器开始衬着页面。
(3)与此同时,浏览器继续载入HTML中的<;body>;标签部门的代码,发现此中有一个<;img>;标签引用了一张图片,于是向服务器发出哀求。此时浏览器不会比及图片下载完毕,而会继续衬着后 |