ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

从搜索到页面经历的事

2020-04-18 12:03:36  阅读:177  来源: 互联网

标签:缓存 http 经历 端口 TCP 搜索 DNS 连接 页面


 

一、简单的web应用

我们在浏览器中输入关键字后,到底发生了什么?其实我们的浏览器就是一个客户端,服务器为每个去请求的客户端返回数据,就是这么简单,但是我们需要了解更底层的实现逻辑。

首先我们需要从最初的网络模型分层开始:TCP/IP分层模型是OSI模型的一种实现(真正基于OSI基础上实现)

详细概念:

物理层:只接收和发送一串比特流,传输数据单位是二进制(网线和网线上的部件)
数据链路层: 传输以“帧”为单位的数据包(交换机和网桥)
网络层:传输数据单元为“数据包”,这层实现端对端的包传递进行定义,负责对子网间数据包进行路由选择,通过寻址来建立连个连接(路由器)
传输层:传输数据单元为“数据段”(软件,TCP\UDP)
会话层:负责建立、管理、终止两个应用系统之间的会话(RPC、RTCP)
表示层:完成数据的编码、解码、加密、解密、压缩(数据格式转换)
应用层:为用户层提供网络管理、文件传输

  

 

 

几个基本概念:

  • OSI:Open System Interconnection,开放式通信系统互联参考模型
  • 协议:计算机之间实现网络通信之前达成的一种约定,一些规则
  • IP:Internet Protocol 网络协议
  • 主机: 有网卡的计算机,通过主机名区分

详细网络模型:

 HTTP版本变化

1. http 1.0: 默认使用短连接,也就是说每进行一次访问就得建立一次tcp连接,譬如每个静态文件也是一个请求连接

2. http 1.1: 默认使用长连接:connection:kepp-alive,也就是说打开一个网页后不会立即关闭http的tcp连接,可以基于它在此访问该网页

3. http 2.0: http下个版本的规范,一个tcp连接可以请求多个资源

1、多路复用
2、服务端可以推送多个资源
3、二进制分帧
4、首部压缩
5、提升吞吐量

 

 

浏览器缓存

强缓存(200fromcache)和协商缓存(304)

强缓存
    http1.1 中:
        Cache-Control/Max-Age
    http1.0中:
        Pragma/Expire

弱缓存
    If-None-Match/E-tag
    If-Modified-since

 

DNS相关

概念: 域名系统(Domain Name System) 是互联网的一项服务,它作为一种将域名和IP地址相互映射的一个分布式数据库,

能够使人更方便的访问互联网。DNS使用TCP和UDP端口53。

 

 

常见的DNS记录类型:

  1、A:地址记录,返回域名指向的IP地址

  2、NS: 域名服务器记录(Name Server),返回保存下一级域名信息的服务器地址,该记录只能设置为域名

  3、MX:邮件记录,返回电子邮件服务器地址

  4、CNAME: 规范名称记录。

 

DNS缓存优化

为了减少DNS解析的时间和网络带宽问题,我们可以对DNS进行优化:

  1、浏览器

  2、系统DNS缓存

  3、DNS服务强

 

TCP相关

TCP:Transmission Control Protocol 传输控制协议

特点: 面向连接的,可靠的,基于字节流的传输层通信协议,建立在tcp/ip之上

 

端口

端口是指接口电路上的一些寄存器:控制端口、状态端口

设备与外界通讯交流的出口:虚拟端口、物理端口

每一个TCP连接都有一个端口号,且区分不同网络服务有不同的端口:ssh-22;ftp:21;https:443;http:80/8080

 

TCP的三次握手

如图:

 

 

四次挥手

 

标签:缓存,http,经历,端口,TCP,搜索,DNS,连接,页面
来源: https://www.cnblogs.com/double-W/p/12723523.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有