第1章 HTTP资源
1.1 媒体类型
互联网上的数据有很多不同的类型,Web服务器会把通过Web传输的每个对象都打上MIME类型的数据格式标签。
当Web服务器响应HTTP请求时,会为每一个HTTP对象数据加上一个MIME类型。当Web浏览器获取到服务器返回的对象时,会查看相关的MIME类型,并进行相应处理。
下表是生产场景常见的MIME类型。
MIME类型 | 文件类型 |
---|---|
text/html | html、htm、shtml文本类型 |
text/css | css文本类型 |
text/xml | xml文本类型 |
image/gif | gif图像类型 |
image/jpeg | jpeg、jpg图像类型 |
application/javascript | js文本类型 |
text/plain | txt文本类型 |
application/json | json文本类型 |
video/mp4 | mp4视频类型 |
video/quicktime | mov视频类型 |
video/x-flv | flv视频类型 |
video/x-ms-wmv | wmv视频类型 |
video/x-msvideo | avi视频类型 |
1.2 URL介绍
URL全称Uniform Resource Location,中文翻译为统一资源定位符,也被称为网址。
URL的格式有下列三部分组成:
第一部分是协议,例如:http。
第二部分是主机资源服务器IP地址或域名(端口号),例如:www.etiantian.org。
第三部分是主机资源的具体地址,如目录和文件名等,例如:ldboy/index.html。
第一部分和第二部分之间用“://”符号隔开,第二部分和第三部分用“/”符号隔开,第一部分和第二部分是不可缺少的,第三部分可以省略。
1.3 静态网页资源
1.3.1 静态网页资源介绍
在网站设计中,静态网页是相对于动态网页而言,指没有后台数据库,不含程序(如PHP、JSP、ASP)、不可交互的、纯粹的HTM格式(可以包含图片、视频等)的网页。
1.3.2 静态网页资源特点
静态网页资源的特点是,开发者编写的是什么,它显示的就是什么,一旦编写完成,就不会有任何改变。
静态网页资源对应程序以及资源文件的常见扩展名:
1、纯文本类程序或文件:.htm、.html、.xml、.shtml、.js、.css等。
2、图片类文件或数据文档:.jpg、.gif、.png、.bmp、.txt、.doc、.ppt等。
3、视频类流媒体文件:.mp4、.swf、.avi、.wmv、.flv等。
静态网页资源的重要特征:
1、每个页面都有一个固定的URL地址,且URL一般以.htm、.html、.shtml等常见形式为后缀,并且不含有?或&等特殊符号。
2、静态网页是实实在在保存在服务器上的文件实体,每个网页都是一个独立的文件。
3、网页内容是固定不变的,因此,容易被搜索引擎收录(容易被用户找到)(优点)。
4、因为网页没有数据库的支持,所以在网站制作和维护方面的工作量大,当网站信息量很大时,完全依靠静态网页比较困难(缺点)。
5、网页的交互性较差,在程序的功能实现方面有较大的限制(缺点)。
6、网页程序在用户浏览器端解析,程序解析效率很高(优点)。
静态网页的核心特点:
1)程序在客户浏览器端解析,不读取后端数据库,因此性能和效率很高。
2)因为后端没有数据库的支持,所以和用户的交互性较差,功能实现也很少。
1.4 动态网页资源
1.4.1 动态网页资源介绍
所谓的动态网页是与静态网页相对而言的,也就是说,动态网页的URL后缀不是.htm、.html、.shtml、.xml、.js、.css等静态网页的常见后缀扩展名形式,而是以.asp、.aspx、.php、.js、.do、.cgi等形式作为后缀的,并且一般在动态网页网址中会有标志性的符号"?, &" ,此外,在大多数情况下后端都需要有数据库支持等。
1.4.2 动态网页资源特点
1、网页扩展名后缀常见为: .asp、.aspx、.php、.jsp、.do、.cgi等。
2、网页一般以数据库技术为基础,大大降低了网站维护的工作量。
3、采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、投票、用户管理、订单管理、发博文等等。
4、动态网页并不是独立存在于服务器上的网页文件,当用户请求服务器上的动态程序时,服务器解析这些程序并可能读取数据库返回一个完整的网页内容。
5、动态网页中的“?”在搜索引擎的收录方面存在一定的问题,搜索引擎一般不会从一个网站的数据库中访问全部网页,因此在企业通过搜索引擎进行推广时,需要针对采用动态网页的网站做一定的技术处理(伪静态技术),,以便适应搜索引擎的抓取要求。
6、程序在服务器端解析,耗时长,效率低,并且会消耗大量的CPU和内存、I/O等资源,并且多数还要读取数据库等服务,因此,其访问效率远不如静态网页。
7、在服务端解析动态程序的服务常见的有PHP引擎、Java容器(Tomcat、Resin、Jboss、Weblogic)、Python软件。
1.5 伪静态网页
1.5.1 伪静态网页介绍
伪静态网页就是通过某些技术(如rewrite)把动态网页的URL地址伪装成静态网页URL地址,但实质上用户访问的还是动态网页,只不过给用户看起来URL地址是符合静态网页地址特征的,因此,用户及某些搜索引擎会误认为是静态网页。
1.5.2 伪静态网页作用
由于搜索引擎无法正确读取带参数的动态网页内容,造成网页中很多具有丰富信息的页面无法被搜索引擎收录,因此才有了伪静态技术,它的作用是把动态网页URL改写成静态网页的URL,虽然同样是消除了动态网页中的参数,但是并不需要生成任何网页,仅仅是改变了网页地址路径,这样做的主要目的有两个,一是让搜索引擎收录网站内容,实现让更多的用户访问企业网站内容,二是提升用户访问体验,动态地址带特殊符号等的URL看起来也不如看着静态网页地址舒服。
1.5.3 伪静态网页特点
1、利用rewrite技术将动态网页伪装成静态网页(URL地址改写)。
2、便于搜索引擎搜录提升用户访问量以及用户体验。
3、访问性能没有提升,并且转换伪静态会消耗资源,因此性能反而会下降。
4、如果为了性能,就尽可能将动态网页转换成真正的静态页面。
5、并发量不是很大或者动态更新过于频繁的时候,用rewrite实现伪静态也是不错的。
6、伪静态网页的实现过程,一般是由运营产品提出需求,开发和运维共同实现的。
1.6 网站流量度量术语
1.6.1 IP
IP (独立IP)即Internet Protocol,这里指独立IP数,独立IP数是指不同IP地址的计算机访问网站时被计算的总次数。独立IP数是衡量网站流量的一个重要指标。一般一天内 (00-00-24:00)相同IP地址的客户端访问网站页面只被计算为一次,记录独立IP的时间可为一天或一个月,目前通用过的标准为一天。
1.6.2 PV
PV (访问量)即Page View,中文翻译为页面浏览,即页面浏览量或点击量,不管客户端是不是相同,也不管IP是不是相同,用户每次访问一个网站页面都会被计算一个PV。
PV的具体度量方法就是从客户浏览器发出一个对Web服务器的请求(Request), Web服务器接到这个请求后,将该请求对应的一个网页(Page)发送给浏览器,就产生了一个PV。这里有一个问题,就是只要这个请求发送给了浏览器,无论这个页面是否完全打开(或下载完成),那么都是会被计数为1个PV (服务器日志),,一般为了防止用户快速刷PV,很多网站把PV的统计程序放在页面的最下面。
用PV衡量网站时, PV数反映的是浏览某网站的页面数量,每刷新一次页面也算一次。因此,可以说PV数与来访用户的数量成正比,但PV数并不是真正的页面来访者数量,而是网站被访问的页面数量,因为一个来访者可能产生多个PV。
1.6.3 UV
UV (独立访客)即Unique Visitor,同一台客户端(PC或移动端)访问网站被计算为一个访客。一天(00:00-24:00)内相同的客户端访问同一个网站只计算一次UV。UV一般是以客户端Cookie等技术作为统计依据的,实际统计会有误差。
考虑到一台客户端电脑可能会有多人使用的情况,因此,UV(独立访客)实际上并不一定是独立的自然人访问。
1.6.4 IP、PV、UV的区别
一个网站的独立IP数量要比网站实际访问的PV数量小的多,通常情况下,网站的UV数也会大于独立IP数。
PV数高说明访问的页面数多,但是不一定就代表来访者多;但PV数一定与来访者的数量成正比,不过,PV并不直接决定页面的真实来访者数量。比如在访问某网站时,一个人也可以通过不断的刷新页面,制造出非常高的PV数。
1.7 WWW服务软件介绍
Web服务中常用的静态软件有:Nginx、Apache、Lighttpd。
Web服务中常用的动态软件有:php程序(Php引擎)、JAVA程序(tomcat/resin/jboss/weblogic)、python程序(Python)