http是一个web协议。
一 用户访问网站的基本流程?
1 在浏览器里输入域名
2 DNS解析域名为ip地址
3 对于目标进行tcp三次握手
4 web服务器响应用户请求。域名看的是网页首页
5 用户的浏览器解析web服务器相应的数据包
6 用户从浏览器看到了内容
HTTP协议中文名为超文本传输协议 双方在HTTP协议下完成的
DNS解析原理:
D (domain)(区域) N(name)名字 S(server)服务
映射(hosts) ip地址加 域名
前六步叫做DNS的递归查询
全球公开的最大的DNS服务器有十三个,这种服务器叫做“点”服务器
例子:寻找www.baidu.com
上边整个过程就是DNS的迭代查询
http 默认端口 80
https 默认端口 443:
HTTP协议常见的请求方法
GET方法:作用客户请求指定资源信息,服务器返回指定资源(一般称为读请求,明文,不安全)
POST方法:将客户端的数据提交给服务器,例如:注册表单(一般称为写请求,加密)
http数据包有两部分,主体 网页
HTTP状态码:是用来表示web服务器响应http请求状态的数字代码。
状态码范围
生产场景常见的状态码及其对应的作用
状态代码 |
详细描述说明 |
200~OK |
服务器成功返回网页,这是成功的http请求,返回的标准状态码 |
301-Moved Permanently |
永久跳转,所有请求的网页将永久跳转到被设定的新的位置,例如:从baidu.com跳转到www.baidu.com |
403-Forbidden |
禁止访问,这个请求是合法的,但是服务器端因为匹配了预先设置的规则而拒绝响应客户端的请求,此类问题一般为服务器或服务权限配置不当所致。 |
404-Not Found |
服务器找不到客户端请求的指定页面,可能是客户端请求了服务器上不存在的资源导致 |
500-Internal Server Error |
内部服务器错误,服务器遇到了意料不到的情况,不能完成客户的请求。这是一个较为笼统地报错,一般为服务器的设置或者内部程序问题导致。例如SElinux开启,而又没有为http设置规则许可,客户端访问就是500 |
502-Bad Gateway |
坏的网关,一般是代理服务器请求后端服务时,后端服务不可用或没有完成响应网关服务器。一般为反向代理服务器下面的节点出问题导致。 |
503-Service Unavailable |
服务当前不可用,可能因为服务器超载或停机维护导致,或者是反向代理服务器后面没有可以提供服务的节点 |
504-Gateway Timeout |
网关超时,一般是网关代理服务器请求后端服务时,后端服务没有在特定的时间内完成处理请求,一般是服务器过载导致没有在指定的时间内返回数据给前端代理服务器。 |
Pc电脑上的浏览器上显示的网站,是web前端开发做出来的。
用户直接接触的客户端就是前端
前端的开发就是前端开发(web开发 安卓开发 ios开发 VR开发)
Web开发用到了什么?
Html语言:决定了你的浏览器上显示的具体内容。
Css语言:决定了内容如何让显示(比如图片是方的还是圆的,简单说就是显示格式优化)
Javascripts(简称js)要明白这不是java。
后端开发用到的语言?
Php Java python c++ Goland
以上后台就是运维的生产环境
后台语言不变,前端不管是什么语言
前端和后端无论如何都必须要遵守两种协议:json协议和xml协议。(开发用的)
URL介绍
URL :统称为统一资源定位符,也被称为网页地址。(也可以称为请求)
URL是有什么组成的?
是由 域名和URI组成的。
URI:就是页面的具体位置。(资源的具体位置)
静态网页:
在网站设计中,纯粹HTML格式的网页(可以包含图片,视频,JS(前端功能实 现),CSS(样式)等)通常被称为“静态网页”
常见的静态网页语言有:html,js,css,xml,shtml。
静态网页的特点:
开发者无论编写的是什么,它显示的就是什么,一旦编写完成,就不会有任何改变。
静态网页资源的对应程序及资源文件的常见扩展名为:
- 纯文本类程序或文件,如htm,html,xml,shtml,js,css等
- 图片类文件或数据文档,如jpg,gif,png,bmp,txt,doc,ppt等
- 视频类流媒体文件,如mp4,swf,avi,wmv,flv等
静态网页资源有几个重要的特征:
- 每个网页都有一个固定的URL地址,且URL一般以.html,.html,shtml等常见形式为后缀,而且地址中不含有问号“?”或“&”等特殊符号。
- 网页内容一经发布到网站服务器上,无论是否有用户访问,每个网页的内容都是保存在网站服务器文件系统上的,也就是说,静态网页是实实在在保存在服务器上的文件实体,每个网页都是一个独立的文件。
- 网页内容是固定不变的,因此,容易被搜索引擎收录(容易被用户找到)(优点)
- 网页没有数据库支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作的方式比较困难(缺点)
- 网页的交互性较差,在程序功能实现方面有较大的限制(缺点)
- 网页程序在用户浏览器端解析,如IE浏览器,程序解析效率很高,由于服务端不进行解析,并且不需要读取数据库,因此服务器端可以接受更多的并发访问。当客户端向服务器请求数据时,服务器直接把数据从磁盘文件系统上返回(不做任何解析),待客户端拿到数据后,在浏览器端解析展现出来(优点)
静态网页的核心特点:
1 程序在客户端浏览器端解析,不读取后端数据库,因此性能和效率很高。
2 因为后端没有数据库的支持,所以和用户的交互性较差,功能实现也很少。
有关静态网页的架构思想
在高并发,高访问量的场景下做架构优化,涉及的关键环节就是把动态网页转成静态网页,而不直接请求数据库和动态服务器,并且可以把静态内容推送到前端缓存(或CDN)中提供服务,这样就可以提升用户体验,节约服务器和维护成本。
动态网页一般以.asp,.aspx,.php,.js,.do,.cgi等形式作为后缀的,并且一般在动态网页网址中会有标志性的符号--“?,&”,此外,在大多数情况下后端都需要有数据库支持等。
动态网页资源特点
1) 网页扩展名后缀常见为:.asp,.aspx,.php,.jsp,.do,cgi等
2)网页一般以数据库技术为基础,大大降低了网站维护的工作量
3)采用动态网页技术的网站可以实现更多的功能,如用户注册,用户登录,在线调查,投票,用户管理,订单管理,发博文等等
4)动态网页并不是独立存在于服务器上的网页文件,当用户请求服务器上的动态程序时,服务器解析这些程序并可能读取数据库返回一个完整的网页内容。
5)动态网页中的“?”在搜索引擎的收录方面存在一定问题,搜索引擎一般不会从一个网站的数据库中访问全部网页,或者出于技术等方面的考虑,搜索蜘蛛一般不会去抓去网址中“?”后面的内容,因此在企业通过搜索引擎进行推广时,需要针对采用动态网页的网站做一定的技术处理(伪静态技术),以便适应搜索因穷的抓取要求。
6)程序在服务器端解析,这相当于顾客点餐,饭店厨师做饭做菜,耗时长,效率低。由于程序在服务端解析,因此,会消耗大量的CPU和内存,I/O等资源,并且多数还要读取数据库等服务,因此,其访问效率远不如静态网页,在服务端解析动态程序的服务常见的有PHP引擎,Java容器(tomcat,resin,jboss,weblogic)
有关动态网页的架构思想
- 一般来说,静态网页的性能效率是动态网页的10~30倍。且动态网站效率很差,并发能力也很低,在高并发场景中,应尽可能转换成静态网页提供服务。动态转静态几乎是所有高并发网站必备的架构方案思路,也是高级架构师的职责所在。
- 此外,动态转静态也要根据业务需求设计,例如,对于更新频繁的网站如果设计不好就可能会产生数据不一致的情况,即用户看到的数据不是网站最新的内容,而是静态的内容。网站流量度量的术语
- 生产Web架构优化实战方案
- 由于静态网页程序在客户端解析,大大降低了服务器端的访问压力,因此解析效率更高,在实际高并发网站架构中,可以考虑把用户请求的数据解析后存成静态文件放于磁盘中或放于内存中,来降低动态服务器的压力,节约企业成本,提升用户体验。
- IP(独立IP)。这里是指独立IP数,独立ip数是指不同的ip地址的计算机访问网站时被计算的总次数。
- 怎么样统计ip地址访问量?
PV(访问量)即Page View,中文翻译为页面浏览,即页面浏览器或点击量,不管客户端是不是相同,也不管IP是不是相同,用户每次访问一个网站页面都会被计算一个PV。
UV(独立访客)同一台客户端(pc或移动端)访问网站被计算为一个访客。
一般以客户无端Cookie等技术作为统计依据。
企业网站对IP,PV,UV的度量
- 1 先来看对IP的度量:
分析所有Web服务器的访问日志信息,对IP地址段去重后计数,这是IT人员的基本计算手段
在网站的每一个(所有)页面结尾,嵌入JS等统计程序代码,待用户加载网页后,IP即传给统计IP的服务器,这种方法一般被第三方统计公司或企业内部开发日志分析程序时使用
用第三方大家比较信任的统计工具例如:谷歌的统计(GA)。
IP的统计方法简单,易用,因此,成为了多数网站衡量网站流量的重要指标之一。
- 2 对PV的度量如下:
分析Web服务的访问日志(需要排除js,css及各种图片的日志信息),只计算HTML,PHP等页面数量。
在网站的每一个页面结尾,嵌入JS等统计程序代码,待用户加载网页后,访问数量即传给统计PV的服务器,这种方法一般被第三方统计公司或在企业内部开发日志分析程序时使用。
用第三方大家比较信任的统计工具例如:谷歌的统计(GA)
PV的统计方法也很简单,易用,因此,也是多数网站衡量网站流量的重要指标之一。