http

一、用户上网流程

全世界目前公开的有13个点(.)域名服务器

中国最强点服务器  .cn

1、在浏览器里输入域名,系统会查找系统本地的DNS缓存及hosts文件信息,查找是否存在域名对应的IP解析记录。

2、DNS解析域名为IP地址系统会把浏览器的解析请求发送给客户端本地设置的DNS服务器地址解析,如果LDNSlocal DNS)服务器的本地缓存有对应的解析记录就会直接返回IP地址给客户端(如果没有,则LDNS会负责继续请求其他的DNS服务器)

3、对目标进行TCP三次握手

4、发起了一个请求URLweb服务器

5、服务器响应请求,回复我们一个响应包

6、浏览器解析响应包出现我们看到的网页

二、DNS怎么解析的域名?

 

DNS的递归查询

1、用户先看自己系统本地的DNS缓存

2、查看本地映射hosts文件

3、找到LDNSlocalDNS

4、LDNS查看你自己的缓存

5LDNS查看本地映射文件/etc/hosts

6LDNS看域名解析的记录本

7、LDNS开始寻找外援帮助(开始DNS的迭代查询

DNS的迭代查询:

8、LDNS先问点服务器,是否知道www.baidu.com 点服务器不认识,但是它知道.com服务器,然后把.com服务器告诉LDNS

9、LDNS找到.com服务器,.com不知道,但是它知道baidu.com服务器,然后把LDNS找到了baidu.com服务器

10、baidu.com说,说有和xxxbaidu.com服务器我都知道

11、最后baidu.com服务器找到了www.baidu.com

找到以后LDNS会记录自己的缓存一份,然后发给用户,用户收到后,也记录一份到自己的缓存。

 

 

三、HTTPHTTPS协议默认端口号

HTTP协议的WWW服务应用默认端口80

HTTPS协议默认443

 

例如:http://www.baidu.com:80 

有些网站开头是https加密传输协议,默认端口号是443

机密协议是需要证书的

四、URLURI

URL=域名+URI(具体的资源位置)

组成:协议类型(protocol)、主机名(hostname)、端口(port)、路径及文件名(path

五、常见的HTTP请求

GET

客户端请求指定资源信息,把服务器上的文件读过来(读协议get请求)

特点:速度非常快,明文信息,公开,不安全,不加密

HEAD

只请求响应报文中的HTTP首部

请求GET方法,属于http协议,发送报文,浏览器回复页面有个响应包(报文),报文分两部分,报头和主体,HEAD只看报头不看主体。主体是用户想看的内容,报头是web服务器对浏览器的控制。web服务器可以控制客户浏览器缓存的存在时间,服务器给浏览器强制加入一些参数。

POST 将客户端的数据提交到服务器,例:注册表单 (写请求,写到服务器上)

特点:加密的

PUT 从客户端向服务器传送的数据取代指定的文档内容

DELETE 请求服务器删除Request-URI所标识的资源

MOVE 请求服务器将制定的页面移至另一个网络地址

六、linux模拟访问baidu

curl -v www.baidu.com

消息头与消息体

消息头:记录用户的属性及请求信息与响应信息与访问状态

消息体:网页

 

返回码

100-199 指定客户端相应的某些动作

200-299 表示请求成功

300-399 用于已经移动的文件并且常被包含在定位头消息中指定新的地址信息

400-499 指出客户端出现问题

500-599指出服务端

 

 

 

200 OK 操作成功

301 Moved Permanently 永久重定向(永久跳转)

302 found 临时重定向(临时跳转)

304 not modified 触发缓存

403 Forbidden 权限拒绝(不允许访问)

404 Not Found 找不到网页(uri部分服务端没这个东西)

500 Internal Server Error 内部服务器错误(一般怀疑防火墙安全机制被阻挡)

502 Bad Gateway 坏的网关,(一般追踪网关,路由器)

503 Service Unavailable 服务不可用,服务器超载、当机等原因

504 Gateway Timeout 网关超时(不确定网关哪边出现问题)

HTTP资源

媒体类型

Web服务器会把通过过Web传输的每个对象都打上名为MIME类型(MIME Type)的数据格式标签。

 

URL统一资源定位符

也称网址

三部分:

(1)协议

(2)主机资源服务器IP地址或域名(端口号)

(3)主机资源的具体地址,如目录和文件名

其中,第一部分与第二部分之间用://”隔开,第二部分和第三部分用“:/”隔开,第三部分可以省略

 

 

七、传统前端语言

html:设定网页上都有什么内容

css:有坐标这东西,规划网页内容的显示位置,以及图片的显示方式,

javascript==>JS :网页上的shell代码

 

发送过程:

ServerLNMP发送ison格式、xml格式发送给JS,经过循环处理,传达给浏览器的htmlCSS

 

 

1、静态网页资源

图片和视频,Nginx就可以处理静态,

1、不需要数据库支持

2、服务器端解析速度快

3、给服务器端造成的压力小

4、搜索引擎喜欢收录静态网页,不喜欢收录动态

5、静态网页由于是固定不变的,因此维护静态数据非常麻烦。

a下静态网页的核心特点

1)程序在客户浏览器端解析,不读取后端数据库,因此性能和效率很高。
2)因为后端没有数据库支持,所以和用户的交互性较差,功能实现也很少。

b有关静态网页的架构思想

在高并发,高访问量的场景下做架构优化,涉及的关键环节就是把动态网页转成静态网页,而不直接请求数据库和动态服务器,并且可以把静态内容推送到前端缓存(或CDN)中提供服务,这样就可以提升用户体验,节约服务器和维护成本。

前端是什么语言,跟后端没什么关系,就是数据请求和数据传递而已。

2、动态网页资源

· 一般来说,静态网页的性能效率是动态网页的1030倍。且动态网站效率很差,并发能力也很低,在高并发场景中,应尽可能转换成静态网页提供服务。动态转静态几乎是所有高并发网站必备的架构方案思路,也是高级架构师的职责所在。

· 此外,动态转静态也要根据业务需求设计,例如,对于更新频繁的网站如果设计不好就可能会产生数据不一致的情况,即用户看到的数据不是网站最新的内容,而是静态的内容。

生产Web架构优化实战方案

由于静态网页程序在客户端解析,大大降低了服务器端的访问压力,因此解析效率更高,在实际高并发网站架构中,可以考虑把用户请求的数据解析后存成静态文件放于磁盘中或放于内存中,来降低动态服务器的压力,节约企业成本,提升用户体验。

把不经常变的动态网页,变成伪静态存在内存和硬盘中。

八、网站流量度量术语

1、并发IP

每分钟并发

2、独立IP

a、独立IP数 :

算法:日志切割,每个访问日志带着时间,一天一切割。每天MV一下;用正则表达式,取200304,对第一列IP数去重,WC-L出数字;

但是这个并不能统计出有多少用户访问,因为一个公网是共享的,所以真实数值大于这个数字。

bPV访问量 :用户访问一个页面,就是一个PV,所以这个数量大于真实访问用户量。

算法:

3UV独立访客

只要用户访问,web服务器会发给用户一个cookiecookie存活时间是一天,如果存在就不发了

所以对一个公司的用户访问量,要这三个值一起统计,然后均衡做出判断。

原文地址:https://www.cnblogs.com/kakajiang/p/10009738.html