http协议简介

Http协议

HTTP/0.9
HTTP/1.0
HTTP/1.1(主流)
HTTP/2.0

HTTP协议是在TCP/IP协议族的基础上运作起来的,用于客户端和服务端之间的通信
其属于TCP/IP协议族内的一个子集;标准的HTTP协议是无状态(cookies, session,application)的协议。
TCP/IP协议族是按层次去划分的
    应用层,决定了向用户提供应用服务时通信的活动。
            FTP协议(文件传输协议)
            DNS(域名协议)
            HTTP(超文本传输协议)
    传输层,提供处于网络连接中两台计算机之间的数据传输
            TCP(传输控制协议)
            UDP(用户数据报协议)
    网络层,用来处理在网络上流动的数据包
            IP协议
    数据链路层,用来处理连接网络的硬件设备


    DNS域名解析服务
        DNS服务是和HTTP协议一样位于应用层的协议,它提供域名到IP地址之间的解析服务。
        计算机既可以被赋予IP地址,也可以被赋予主机名和域名。比如www.baidu.com
        用户通常使用主机名或域名来访问对方的计算机,而不是通过IP地址访问,因为与IP地址
        的一组纯数字相比,用域名来指定计算机名更符合人类的记忆习惯。
        但是要让计算机去理解域名,相对而言就变得困难了,因为计算机更擅长处理一长串数字。
        为了解决上述问题,DNS服务应运而生。DNS协议提供通过域名查找IP,或逆向从IP地址反查域名的服务

一次完整的请求到底发生了些什么?

    DNS是否可以通过缓存来减少查询IP地址的时间?
    网络的请求过程是否走的是最近的网络?

DNS是否可以通过缓存来减少查询IP地址的时间?

        DNS的查找是有开销的,通常浏览器查找一个给定的主机名的IP地址需要花费20到120毫秒。
    在DNS查找完成之前,浏览器不能从主机那下载任何东西。
        DNS是可以被缓存起来提高性能的,这种缓存可以发生在网络运营商的服务器上,
    也可以发在本机所处的局域网中,甚至可以发生在本地的操作系统或浏览器中!!
        但是我们也知道服务器的IP地址是可变的,缓存会消耗内存,因此不管是哪个级别的
    缓存都应该周期性的清除一下。

    DNS域名解析过程
        第1步,查找浏览器缓存。
            浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程就将结束。
        第2步,查找系统缓存
            如果用户的浏览器缓存中没有,浏览器会查找操作系统缓存中是否有这个域名对应的DNS解析结果
        第3步,查找路由器缓存。
            如果系统缓存中也找不到,那么查询请求就会发向路由器,它一般会有自己的DNS缓存。
        第4步,查找ISP DNS 缓存。(网络运营商)
            运气实在不好,就只能查询ISP DNS 缓存服务器了。在我们的网络配置中都会有"DNS服务器地址"这一项,
            操作系统会把这个域名发送给这里设置的DNS,也就是本地区的域名服务器,这个专门的域名解析服务器性能都会很好,
            它们一般都会缓存域名解析结果,当然缓存时间是受域名的失效时间控制的。大约80%的域名解析都到这里就已经完成了,
            所以ISP DNS主要承担了域名的解析工作。
        第5步,递归搜索
            最无奈的情况发生了, 在前面都没有办法命中的DNS缓存的情况下
                    (1) 本地 DNS服务器即将该请求转发到互联网上的根域
                    (2) 根域将所要查询域名中的顶级域(即blog.baidu.com中的com)的服务器IP地址返回到本地DNS。
                    (3) 本地DNS根据返回的IP地址,再向顶级域(就是com域)发送请求。
                    (4) com域服务器再将域名中的二级域(即blog.baidu.com中的baidu)的IP地址返回给本地DNS。
                    (5) 本地DNS再向二级域发送请求进行查询。
                    (6) 之后不断重复这样的过程
                    直到本地DNS服务器得到最终的查询结果,并返回到主机。这时候主机才能通过域名访问该网站。

    减少DNS查询
            1.一个多资源的站点最好使用2到4个不一样的主机来存放服务端资源。
                这是在减少DNS查询和允许高度并行下载之间作出的最好权衡
            2.使用Keep-alive进行持久连接

两个命令

chrome://dns/               :查看浏览器上的DNS缓存
ipconfig /displaydns    :查看操作系统中的DNS缓存      

网络的请求过程是否走的是最近的网络?

    网站通常将其所有的服务器都放在同一个地方,当用户群增加时,公司就必须在多个地理位置不同的服务器上部署内容
    为了缩短http请求的时间,我们应该把大量的静态资源放置的离用户近一点。

    内容发布网络CDN(Content  Delivery Networks)
        CDN是一组分布在多个不同地理位置的web服务器,用于更加有效的向用户发布内容

        基本思路:
            尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。
            通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,
            CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息
            将用户的请求重新导向离用户最近的服务节点上。

        基础架构:最简单的CDN网络由一个DNS服务器和几台缓存服务器组成
            1.当用户点击网站页面上的内容URL,经过本地DNS系统解析,
                    DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。
            2.CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。
            3.用户向CDN的全局负载均衡设备发起内容URL访问请求。
            4.CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,
                    选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。
            5.区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,
                    选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;
                    根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;
                    查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。
                    基于以上这些条件的综合分析之后,
                    区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。
            6.全局负载均衡设备把服务器的IP地址返回给用户。
            7.用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。
                如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,
                那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。
乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值