(盗图)
4)DNS负载均衡
当一个网站有足够多的用户的时刻,假如每次请求的资本都位于同一台机械膳绫擎,那么这台机械随时可能会蹦掉落。处理办法就是用DNS负载均衡技巧,它的道理是在DNS办事器中为同一个主机名设备多个IP地址,在应答DNS萌芽时,DNS办事器对每个萌芽将以DNS文件中主机记录的IP地址按次序返回不合的解析结不雅,将客户端的拜访引导到不合的机械上去,使得不合的客户端拜访不合的办事器,大年夜而达到负载均衡的目标。例如可以根据每台机械的负载量,该机械离用户地舆地位的距离等等。
3、浏览器向 web 办事器发送一个 HTTP 请求
拿到域名对应的IP地址之后,浏览器会以一个随机端口(1024<端口<65535)向办事器的WEB法度榜样(常用的有httpd,nginx等)80端口提议TCP的连接请求。这个连接请求达到办事器端后(这中心经由过程各类路由设备,局域网内除外),进入到网卡,然后是进入到内核的TCP/IP协定栈(用于辨认该连接请求,解封包,一层一层的剥开),还有可能要经由Netfilter防火墙(属于内核的模块)的过滤,最终达到WEB法度榜样,最终建立了TCP/IP的连接。
TCP连接如图所示:
在浏览器没有完全接收全部HTML文档瓯,它就已经开端显示这个页面了,浏览器是若何把页面涌如今屏幕上的呢?不合浏览器可能解析的过程不太一样,这里我们只介绍webkit的衬着过程,下图对应的就是WebKit衬着的过程,这个过程包含:
建立了TCP连接之后,提议一个http请求。一个典范的 http request header 一般须要包含请求的办法,例如 GET 或者 POST 等,不常用的还有 PUT 和 DELETE 、HEAD、OPTION以及 TRACE 办法,一般的浏览器只能提议 GET 或者 POST 请求。
客户端向办事器提议http请求的时刻,会有一些请求信息,请求信息包含三个部分:
| 请求办法URI协定/版本
| 请求正文:
- GET/sample.jspHTTP/1.1 Accept:image/gif.image/jpeg,*/*
- Accept-Language:zh-cn
- Connection:Keep-Alive
- Host:localhost
- User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
- Accept-Encoding:gzip,deflate
- username=jinqiao&password=1234
留意:最后一个请求头之后是一个空行,发送回车符和换行符,通知办事器以下不再有请求头。
(1)请求的第一行是“办法URL议/版本”:GET/sample.jsp HTTP/1.1
(2)请求头(Request Header)
请求头包含很多有关的客户端情况和请求正文的有效信息。例如,请求头可以声明浏览器所用的说话,请求正文的长度等。
- Accept:image/gif.image/jpeg.*/*
- Accept-Language:zh-cn
- Connection:Keep-Alive
- Host:localhost
- User-Agent:Mozila/4.0(compatible:MSIE5.01:Windows NT5.0)
- Accept-Encoding:gzip,deflate.
(3)请求正文
一些大年夜一点的网站会将你的请求到反向代劳办事器中,因为当网站拜访量异常大年夜,网站越来越慢,一台办事器已经不敷用了。于是将同一个应用安排在多台办事器上,将大年夜量用户的请求分派给多台机械处理。此时,客户端不是直接经由过程HTTP协定拜访某网站应用办事器,而是先请求到Nginx,Nginx再请求应用办事器,然后将结不雅返回给客户端,这里Nginx的感化是反向代劳办事器。同时也带来了一个好处,个一一台办事器万一挂了,只要还有其他办事器正常运行,就不会影响用户应用。
请求头和请求正文之间是一个空行,这个行异常重要,它表示请求头已经停止,接下来的是请求正文。请求正文中可以包含客户提交的萌芽字符串信息:
- username=jinqiao&password=1234
常识扩大:
1)TCP三次握手
第一次握手:客户端A将标记位SYN置为1,随机产生一个值为seq=J(J的取值范围为=1234567)的数据包到办事器,客户端A进入SYN_SENT状况,等待办事端B确认;
第二次握手:办事端B收到数据包后由标记位SYN=1知道客户端A请求建立连接,办事端B将标记位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给客户端A以确认连接请求,办事端B进入SYN_RCVD状况。
第三次握手:客户端A收到确认后,检查ack是否为J+1,ACK是否为1,如不雅精确则将标记位ACK置为1,ack=K+1,并将该数据包发送给办事端B,办事端B检查ack是否为K+1,ACK是否为1,如不雅精确则连接建立成功,客户端A和办事端B进入ESTABLISHED状况,完成三次握手,随后客户端A与办事端B之间可以开端传输数据了。
302表示旧地址A的资本还在(仍然可以拜访),这个重定向只是临时地大年夜旧地址A跳转到地址B,搜刮引擎会抓取新的内容而保存旧的网址。 搜刮引擎优化302好于301
推荐阅读
但简便并不料味着缺乏功能。其响应式设计在任何设备上看起来都很好,并可以应用主题、API 接口、多说话、固定书签等等。 你日常平凡应用 RSS 浏览器么?四年前当 Google Reader 宣布停止的时>>>详细阅读
地址:http://www.17bianji.com/lsqh/34725.html
1/2 1