计算机网络 DNS HTTP HTTPS,缓存

输入URL之后的全过程

  1. 从输入的URL中解析出使用的协议、主机、端口号等,构造一个HTTP请求
  2. DNS解析域名,解析成对应的ip地址
  3. TCP三次握手,建立连接
  4. 浏览器发送HTTP/HTTPS请求到web服务器
  5. 服务器处理HTTP/HTTPS请求并返回报文
  6. 浏览器渲染页面
  7. 断开连接,tcp四次挥手

URL URI

在网络技术中,URI(Uniform Resource Identifier,统一资源标识符)和URL(Uniform Resource Locator,统一资源定位符)是两个非常基本的概念,它们都用于在网络上标识资源,但它们之间存在一些区别:

  1. URI(统一资源标识符)

    • URI是一个用于标识某一互联网资源名称的字符串。
    • URI的主要目的是标识资源,它可以是URL或URN(Uniform Resource Name,统一资源名称)。
    • 例如,https://example.com/path?query=123 是一个URI。
  2. URL(统一资源定位符)

    • URL是URI的一个子集,不仅标识资源,还提供了找到该资源的方式。
    • URL通常包括协议(如HTTP、HTTPS)、服务器位置和资源在服务器上的具体地址。
    • 例如,https://example.com/path?query=123 是一个URL,它告诉你如何通过HTTPS协议访问example.com上的某个资源。

总结来说,每个URL都是URI,但不是每个URI都是URL。URI更广泛,它还包括URN,而URN仅仅标识资源的名称,不提供定位信息。例如,urn:isbn:0451450523是一个URN,用于标识特定的书籍,但并不提供获取书籍的具体位置。

DNS (Domain Name System)

概念:将域名转换为ip的分布式系统
image.png|500

为什么分布式

  1. 单点故障会使整个网络瘫痪
  2. 远程服务器请求时间较长,造成严重的时延
  3. 维护成本过高

域名的层级关系

考点号来分隔,代表不同层次,越靠右层级越高

解析过程

  1. 先查询浏览器缓存是否存有ip地址
  2. 若没有,则查询计算机本地的host文件是否有缓存
  3. 向本地的DNS服务器发送查询请求,有就返回
  4. 若没有,本地的DNS解析器会向根DNS服务器发出查询请求,返回结果是应该向哪个顶级域的DNS服务器查询
  5. 本地解析器向顶级域名DNS服务器发送请求,返回结果是向哪个权威DNS服务器查询下一步
  6. 本地解析器发送请求给权威DNS服务器,返回结果是ip地址
  7. 本地解析器返回结果给浏览器,同时将结果缓存本地
  8. 浏览器发起连接

递归查询和迭代查询

递归查询:DNS客户端只需要发送一个查询请求,就可以等待完整的解析结果
迭代查询:DNS客户端通过向上级DNS服务器发送请求,获取更高级的域名服务器地址,向其发送请求,直到获得完整的解析结果
总结:递归查询适合普通用户和客户端,迭代查询适用于DNS服务器之间的通信

HTTP

特性

简单:基本报文格式为header+body,头部信息是key-value简单文本的形式
灵活和易于扩展:协议中的各种请求方法、URL\URI、状态码、头字段等每个组成部分没有被定死,允许自行补充;在应用层,下层可以随意变换;HTTPS是在http和tcp之间添加了ssl/tsl安全传输层,HTTP/3则是把TCP换成了基于UDP的QUIC
无状态:服务器不会去记忆HTTP的状态,可以减轻服务器负担
明文传输:信息透明易被窃取
不安全:通信使用明文;不验证身份、无法证明完整性
应用广泛且跨平台

版本演变

0.9

只支持GET,只能返回HTML格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值