【计算机网络-自顶向下方法】应用层(SMTP、POP3、DNS)

目录

      • 1. Electronic Mail
        • 电子邮件应用画像
        • 1.1 电子邮件系统
        • 1.2 邮件报文格式
        • 1.3 邮件访问
      • 2. DNS(Domain Name System)
        • 2.1 DNS提供的服务
        • 2.2 DNS工作机理
        • 2.3 DNS资源记录
        • 2.4 DNS协议,报文
        • 2.5 小结

1. Electronic Mail

电子邮件应用画像
  • 应用层传输对象:邮件
  • 网络应用架构:客户-服务器架构
  • 使用传输服务:TCP
  • 应用层协议:
    • 邮件传输协议:SMTP(端口号25)
    • 邮件访问协议:POP3(端口号110),IMAP(端口号143),HTTP(端口号80)
  • SMTP、POP3、IMAP采用命令/响应交互
1.1 电子邮件系统

最初由三个部分组成:

  • 用户代理
  • 邮件服务器
  • 简单邮件传输协议

用户代理

  • 编辑、阅读、回复邮件等。
  • 将要外发的邮件发送到用户的邮件服务器。
  • 从用户邮箱中取邮件。
  • 一些用户代理:Outlook, elm, Mozilla, Thunderbird

邮件服务器

  • 用户信箱:存放到来的邮件。
  • 发送报文队列:存放要发送出去的邮件。
  • 报文传输代理MTA:运行在服务器后台的系统守护进程,负责在邮件服务器之间传输邮件,即将收到的邮件放入用户信箱。

电子信箱

  • 电子信箱:
    • 由计算机上的一个存储区域(如磁盘上的一个文件)组成。
    • 每个信箱均被分配了唯一的电子邮件地址。
  • 电子邮件地址:
    • 由两个部分组成,形如:mailbox@computer。
    • 前者为标识用户信箱的字符串,后者为信箱所在的邮件服务器的名字。

简单邮件传输协议–SMTP [RFC 2821]

  • 邮件服务器之间传输邮件采用客户-服务器模式:
    • 客户: 发送邮件的邮件服务器(报文传输代理)
    • 服务器: 接收邮件的邮件服务器(报文传输代理)
  • SMTP使用TCP协议,服务器端口为25
  • 发送方和接收方的邮件服务器之间直接传输邮件
  • SMTP采用命令/响应交互方式:
    • 命令: ASCII文本
    • 响应: 状态码和短语
  • 报文只能包含简单ASCII文本,即7位ASCII码(最初仅为英文电子邮件而设计)

邮件发送示例Scenario: Alice sends message to Bob

  1. Alice使用用户代理编辑邮件,发送给bob@someschool.edu
  2. Alice的用户代理将报文发送给其邮件服务器(使用SMTP)。
  3. 邮件被置于邮件服务器的发送报文队列中。
  4. Alice的邮件服务器与Bob的邮件服务器建立TCP连接,然后发送 Alice的邮件。
  5. Bob的邮件服务器将邮件放置在Bob的信箱中。
  6. Bob调用他的用户代理阅读邮件。
    在这里插入图片描述

Q:为什么不是直接从 User Agent 直接发送到 User Agent 呢?
A:User Agent这样的终端程序并不是实时在线的,若Bob的Mail Server暂时出现了问题,Alice的 Mail Server会在一段时间内不断尝试发送,尝试多次后才宣布发布失败。User Agent 并不是一直在线的无法向 Mail Server 一样重复这样的过程。

邮件传送具体实现

  假设Alice的邮件已经从代理服务器传输到了邮件服务器上,Alice的邮件服务器试图将邮件传送到Bob的邮件服务器上。

  1. 实现连接与握手
    • MTA客户与MTA服务器在端口25建立TCP连接。
    • 服务器发送服务就绪报文。
    • 客户发送HELO报文,用域名标识自己。
    • 服务器响应。
      在这里插入图片描述
    • 若正常则回复 250 OK,不正常回复 421 Service not Available
  2. 发送邮件内容

可能出现的错误:
451:处理出错
452:存储空间不足

  1. 结束传输
  • 客户发送QUIT命令
  • 服务器响应
  • 释放TCP连接
    在这里插入图片描述

几个要点:

  • SMTP使用持久连接:
    • 可以在一条TCP连接上传输多个报文(FTP只传输一个文件,HTTP可传输一个或多个对象)
    • 一个方向的报文传输结束后,可以在另一个方向上传输报文(SMTP特有的)
  • SMTP 服务器使用 “.” 表示报文结束(FTP使用关闭连接表示文件结束,HTTP使用长度域表示报文结束)。
  • SMTP要求报文(报头和实体)只包含简单ASCII文本(HTTP无此要求)。
1.2 邮件报文格式

在这里插入图片描述
如何传输包含非ASCII文本的报文?

  • 现在的电子邮件要求能传输其它语系的文字,甚至非文本信息(如图片)。
    • 非ASCII文本形式的数据,在发送前须转换成简单ASCII文本。
  • 非ASCII文本的报文大多具有特殊的数据类型,需要特殊的邮件浏览器(如JPEG图形的解压缩软件)来阅读。
    • 需扩展报文的数据类型。

Base64编码

Base64用来将一个二进制字节序列,转换成由ASCII字符序列构成的文本。

每24比特数据划分成4个6比特的单元,每个单元编码成一个ASCII字符,其对应关系为:

  • 0~25编码成’A’~’Z’
  • 26~51编码成‘a’~‘z’
  • 52~61编码成‘0’~‘9’
  • 62和63分别编码成‘+’和‘/’
  • 若最后一组只有8比特或16比特,分别加上‘==’和 ‘=’ 后缀
  • 回车和换行忽略,可以插在任何地方
    在这里插入图片描述

quoted-printable编码

适用于绝大部分都是ASCII字符的报文实体,其编码方法是:

  • 每个ASCII字符保持不变
  • 对于非ASCII字符(大于127的字符),将该字符的十六进制表示用两个ASCII字符标记,前面冠以特殊字符“=”。
    在这里插入图片描述

多用途因特网邮件扩展协议MIME

  扩展了RFC 822,允许实体具有不同的数据类型,并规定了非ASCII文本信息在传输时的统一编码形式。

扩充了一些首部行,最重要的是:

  • Content-Transfer-Encoding:实体采用的传输编码形式。
  • Content-Type:实体的数据类型及子类型。
    在这里插入图片描述
1.3 邮件访问

邮件访问方式:

  • 早期:用户登陆到邮件服务器上,直接在服务器上运行一个邮件阅读程序来阅读邮件。
  • 今天:用户在终端上安装用户代理,获取和阅读邮件。

Q:能将用户信箱放在本地终端吗?
A:不能,用户终端不可能一直连在因特网上

Q:用户代理能用SMTP从邮件服务器获取邮件吗?
A:不能,SMTP是一个“推”协议,只能将邮件从用户代理推送到其邮件服务器,或从发送方邮件服务器推送到 收件人邮件服务器。

解决方案:设计一个新的协议从服务器获取邮件。

邮件的两阶段交付
在这里插入图片描述

  • 在具有永久因特网连接的计算机上运行一个SMTP服务器,为用户分配一个永久信箱。
  • 第一阶段:邮件被投递到收信人的永久信箱。
  • 第二阶段:用户从永久信箱中获取邮件。
  • 为此,带永久信箱的计算机必须运行两个服务器程序:
    • SMTP服务器:收发用户邮件,将收到的邮件放入用户信箱
    • 邮件访问服务器:允许用户从信箱中提取邮件

邮件访问协议
可以从服务器获取邮件的协议有:

  • POP: Post Office Protocol [RFC 1939]
    • authorization (agent <—>server) and download
  • IMAP: Internet Mail Access Protocol [RFC 1730]
    • more features (more complex)
    • manipulation of stored msgs on server
  • HTTP: gmail, Hotmail, Yahoo! Mail, etc.

POP3协议的两个阶段

1. 认证和授权阶段

  • 客户命令:
    • user: declare username
    • pass: password
  • 服务器响应
    • +OK
    • -ERR

S: +OK POP3 server ready
C: user bob
S: +OK
C: pass hungry
S: +OK user successfully logged on

2. 事务阶段

  • 客户命令:
  • list: list message numbers
  • retr: retrieve message by number
  • dele: delete
  • quit

C: list
S: 1 498
S: 2 912
S: .
C: retr 1
S: <message 1 contents>
S: .
C: dele 1
C: retr 2
S: <message 2 contents>
S: .
C: dele 2
C: quit
S: +OK POP3 server signing off

基于web的邮件访问:HTTP

  • 用户代理为普通浏览器:
    • 发送邮件:浏览器使用 HTTP协议 将邮件发送到邮件服务器。
    • 获取邮件:浏览器使用 HTTP协议 从信箱取邮件。
    • 传输邮件:邮件服务器之间仍使用 SMTP协议 传输报文。
  • 和IMAP一样,用户可以在远程服务器上用文件夹来组织他们的邮件。
  • 下图展示了邮件传输的两种方式:
    在这里插入图片描述
    • 红色线代表为像Outlook这样的代理服务器的邮件传输方式。
    • 蓝色线代表为基于web代理服务器的邮件传输方式。

现代因特网电子邮件系统的组成

  • 用户代理
  • 邮件服务器
  • 简单邮件传输协议SMTP
  • 邮件访问协议(POP3,IMAP,HTTP)

小结

  • 电子邮件系统:
    • 4个组成部分。
  • SMTP协议:
    • 使用TCP协议,服务器端口号25。
    • “推”协议:将邮件推向用户信箱。
    • 命令/响应交互方式。
    • 信体只能包含简单ASCII文本。
  • MIME协议:
    • 允许信体包含非ASCII文本。
    • 规定传输编码类型,扩展数据类型。
  • 两阶段交付过程:
    • 邮件投递:邮件从发信方投递到用户信箱。
    • 邮件访问:收信人从用户信箱获(拉)取邮件。

理解HTTP、FTP、SMTP设计上的不同

  • HTTP、FTP、SMTP均是在TCP连接上传输文件,但是在设计上有一些不同
  • 使用持久连接或非持久连接:HTTP可在一条TCP连接上传输多个对象,SMTP可以传输多个邮件,FTP只传输一个文件。
  • 文件传输结束的标记:HTTP使用长度指示报文结束,FTP使用关闭连接表示文件结束,SMTP 使用 “.” 表示报文结束。
  • 文件内容的要求:SMTP要求邮件只包含简单ASCII文本,FTP和HTTP无此要求。
  • 客户-服务器交互方式:HTTP采用报文交互,SMTP和FTP采用命令/响应交互。

2. DNS(Domain Name System)

因特网的目录服务DNS:将主机名映射到IP地址。

DNS实现为一个应用层服务:

  • 由其它网络应用使用的服务
  • 客户-服务器模式
  • 传输服务:主要使用UDP,有时使用TCP
  • 端口号53
  • 请求/响应报文交互
2.1 DNS提供的服务
  • 主机名-IP地址转换
  • 主机别名:
    • 允许主机除了规范名外,具有一个或多个别名(易于记忆),如www.ustc.edu.cn
    • 提供主机别名到规范名的映射。
    • 迁移服务不需要修改主机名。
  • 邮件服务器别名:
    • 允许使用域名作为邮件服务器的别名,如:xxx@ustc.edu.cn
  • 负载分配:
    • 允许一个规范主机名对应一组IP地址。
    • 将服务请求在一群相同功能的服务器之间分配。
2.2 DNS工作机理

将主机名转换成IP地址:
在这里插入图片描述

  1. 应用程序(如浏览器)调用一个本地例程(解析器),主机名作为参数之一传递。
  2. 解析器向网络中的DNS服务器发送查询报文,包含要查询的主机名。
  3. 解析器收到包含IP地址的响应报文。
  4. 解析器将IP地址返回给调用者(如浏览器)。

对应用程序而言,DNS是一个提供直接转换服务的黑盒子。

DNS是一个分布式数据库

Q: 为什么不使用集中式的DNS?

  • 单点失效
  • 流量集中:单个DNS服务器需处理全部查询
  • 响应时间长:远距离的集中式数据库
  • 需要维护庞大的数据库

分布式环境中的名字空间

如何在分布式环境下避免出现名字冲突?

DNS使用名字空间来规范对主机的命名:

  • 名字空间是因特网主机名字的集合,它同时给出了命名主机的方法。
  • 概念上,因特网被划分成200多个顶级域,每个顶级域可继续划分子域,依次类推。
  • 主机名字采用分层的命名方法。

在这里插入图片描述
域名

域(domain):名字树中,以任何一个节点为根的子树构成一个域。
标记(label):树上每一个节点都有一个标记(最多63个字符),树根的标记是一个空字符串。
域名(domain name):某个域的名字表示为:从该域开始向上直到树根的标记序列,标记之间用句点隔开(类似国外邮政地址的写法)。

域名的任一后缀也是一个域,同一个机构内的主机具有相同的域名后缀。
每个节点只需保证其孩子节点的标记不重名。

顶级域

  顶级域分为组织域、国家域和反向域三种。

  • 组织域
      由美国国内及一些国际组织使用。
    在这里插入图片描述
  • 国家域
      使用二字符的国家代码,每个国家对应一个。
    在这里插入图片描述
  • 反向域

顶级域名为arpa,用来将一个IP地址映射为注册的域名,反向域名解析是为了溯源。

DNS提供了一个反向解析域in-addr.arpa:

  • 欲解析的IP地址表示成像域名一样的一个串,例如,IP地址132.34.45.121表示为 121.45.34.132.in-addr.arpa。
  • 以这个字符串作为参数调用解析器

电信运营商使用自己的DNS服务器提供相关IP地址的反向解析服务。

域名服务器的组织层次
在这里插入图片描述

客户想知道www.amazon.com的IP地址:

  • DNS客户查询根服务器,得到com域的DNS服务器地址。
  • DNS客户查询com域的DNS服务器,得到amazon.com域的DNS服务器地址。
  • DNS客户查询amazon.com域的DNS服务器,得到www.amazon.com的IP地址。

顶级域服务器,权威服务器

  • 顶级域 (Top Level Domain, TLD) 服务器:
    • 每个TLD服务器负责一个顶级域。
    • 知道其所有二级子域的域名服务器的地址。
  • 权威DNS服务器:
    • 机构的DNS服务器,提供机构内部服务器的名字映射。
    • 提供一个主域名服务器、一个或多个辅助域名服务器。
    • 可由机构维护,也可委托ISP维护。

本地DNS服务器

  • 严格来说,本地DNS服务器不属于DNS服务器的层次结构。
  • 每个ISP都有一台本地DNS服务器,也称“默认的DNS服务器”。
  • 解析器的DNS查询报文实际上发送给本地DNS服务器。
  • 本地DNS服务器起着代理的作用,负责将DNS查询报文发送到DNS层次结构中,并将查找结果返回给解析器。

域名解析的例子

Q:cis.poly.edu上的一台主机想知道gaia.cs.umass.edu的IP地址

物理服务器的层次

  一个物理服务器保存的信息可能涉及域名空间的若干层,它也可以把它的域划分成若干子域,把其中的一些子域委托给其它服务器。

  实际的物理服务器的层次与域名空间的逻辑层次不同。
在这里插入图片描述

DNS缓存

  • 每当收到一个响应报文,DNS服务器将报文中的映射信息缓存在本地(每一层的DNS都有缓存)。
  • DNS服务器首先使用缓存中的信息响应查询请求。
  • DNS缓存中的映射在一定时间后被丢弃
  • 特别地,本地DNS服务器通常会缓存TLD服务器的IP地址,因而很少去访问根服务器
2.3 DNS资源记录

DNS更准确的说法: 存储资源记录(RR)的分布式数据库。
在这里插入图片描述

  • Type=A(Address)
    • Name:主机名
    • Value:IP地址
  • Type=NS(Name Server)
    • Name:域 (e.g. foo.com)
    • value:该域的权威DNS服务器的主机名
  • Type=CNAME(Canonical Name)
    • Name:别名
    • Value:规范名
  • Type=MX
    • Name:域(e.g. foo.com)
    • Value:该域的邮件服务器名字

DNS数据库内容示例
在这里插入图片描述

2.4 DNS协议,报文

DNS协议: 定义了查询和响应两种报文,查询和响应使用相同的报文格式。
在这里插入图片描述
在这里插入图片描述
DNS报文的封装

  • DNS主要使用UDP,有时使用TCP,服务器的熟知端口都是53:
    • 当响应报文的长度小于512字节时,使用UDP
    • 当响应报文的长度超过512字节时,使用TCP
    • 当解析器事先不知道响应报文的长度时,先使用UDP;若响应报文的长度超过512字节,服务器截断这个报文,置DNS报文首部的TC标志为1;解析程序打开TCP连接,并重复这个请求,以便得到完整的响应。
  • 为什么DNS响应报文的长度小于512字节时,使用UDP,响应报文的长度超过512字节时,使用TCP?
    • 这是因为UDP没有数据分段的能力,一旦发送的报文长度过长,就需要切割成几个报文段来传送。这就有可能导致信息被分成多个报文段发送丢失,造成严重的数据损失。而TCP传输数据时,可以对数据进行分段和重组,保证数据的完整性,因此更适合传输大型的DNS响应报文。另外,DNS使用TCP的情况也不仅限于响应报文超过512字节,还包括查询应答中的TCP标识位被置位、端口53被占用等情况。

往DNS中插入资源记录

  • example: new startup “Network Utopia”。
  • 向DNS注册机构注册域名“networkutopia.com”
    • 提供权威DNS服务器(主域名服务器,辅助域名服务器)的名字和IP地址。
    • 对每个权威域名服务器,注册机构往 com TLD 服务器中插。
      入两条资源记录,例如:(networkutopia.com, dns1.networkutopia.com, NS)(dns1.networkutopia.com, 212.212.212.1, A)
  • 建立权威DNS服务器,特别是:
    • 建立www.networkuptopia.com的Type A记录。
    • 建立networkutopia.com的Type MX记录,以及相应邮件服务器的A记录。
2.5 小结
  • DNS
    • 提供了一种按层次结构命名主机的方法
    • 实现了一个由DNS服务器构成的分布式数据库
    • 提供了查询域名数据库的应用层协议
  • 域名服务器的类型和层次(逻辑层次,物理层次)
  • DNS服务的调用方法:
    • 向本地DNS代理的一个RPC调用
    • 递归+迭代的查询方式
  • DNS协议:
    • 主要使用UDP,也可以使用TCP,端口号均为53
    • 报文请求/响应交互
  • DNS缓存

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/154425.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业如何使用CRM客户管理系统全面了解客户

B2B业务由于决策链长&#xff0c;涉及的部门和人员多&#xff0c;购买周期短则2、3个月&#xff0c;长则一年半载的原因一直被大家痛呼难做。B2B业务要求企业去认识客户&#xff0c;更要深入地了解客户。基于这种需求&#xff0c;使用CRM客户管理系统是企业全面了解客户的重要手…

Zabbix第二部分:基于Proxy分布式部署实现Web监控和Zabbix HA集群的搭建

代理和高可用 一、基于zabbix-proxy的分布式监控1.1 分布式监控的作用1.2 数据流向1.3 构成组件 二、部署zabbix代理服务器Step1 前置准备Step2 设置 zabbix 的下载源&#xff0c;安装 zabbix-proxyStep3 部署数据库并将zabbix相关文件导入Step4 修改zabbix-proxy的配置文件&am…

【排序算法】选择排序

文章目录 一&#xff1a;基本介绍1.1 概念1.2 算法思想1.3 思路分析图1.4 思路分析1.5 总结1.5.1 选择排序一共有数组大小-1轮排序1.5.2 每一轮排序&#xff0c;又是一个循环&#xff0c;循环的规则如下&#xff08;在代码中实现&#xff09;&#xff1a; 二&#xff1a;代码实…

VueRouter与expres/koa中间件的关联

ueRouter: runQueue 路由守卫都是有三个参数to,from,next。其中next就是下方的fn执行时候传入的第二个参数(回调函数)&#xff0c;只有该回调执行后才会挨个遍历queue内的守卫。 中间件的作用 隔离基础设施与业务逻辑之间的细节。详细的内容位于《深入浅出Node.js》P210 另外一…

CSS设置鼠标样式和添加视频样式

鼠标的样式 <div style"cursor: default">默认鼠标的样式</div><div style"cursor: pointer">小手样式</div><div style"cursor: move">移动样式</div><div style"cursor: text">文本样式&…

Twitter优化秘籍:置顶、列表、受众增长

在 Twitter 上&#xff0c;将你的一条推送文置顶到个人数据顶部是提高可见性和吸引关注者的绝佳方式。无论你是个人用户还是企业&#xff0c;此功能都可以让你的重要信息常驻在众人眼前&#xff0c;即使你发布了新的推文。接下来&#xff0c;我们将分享一些优化建议&#xff0c…

防雷排插的防雷应用以及解决方案

防雷排插是一种能够有效防止雷电对电器设备造成损坏的电源插座。防雷排插的应用&#xff0c;原理和作用如下&#xff1a; 地凯科技防雷排插的应用&#xff1a;防雷排插主要用于保护电脑&#xff0c;电视&#xff0c;音响等电子设备免受雷击或者电网过压的影响。防雷排插通常有…

随着 ChatGPT 凭借 GPT-4V(ision) 获得关注,多模态 AI 不断发展

原创 | 文 BFT机器人 在不断努力让人工智能更像人类的过程中&#xff0c;OpenAI的GPT模型不断突破界限GPT-4现在能够接受文本和图像的提示。 生成式人工智能中的多模态表示模型根据输入生成文本、图像或音频等各种输出的能力。这些模型经过特定数据的训练&#xff0c;学习底层模…

学生台灯买什么样的好?双十一学生台灯推荐

不得不说光线会孩子的影响还是蛮大的&#xff0c;不仅会影响学习的效率&#xff0c;还会影响视力健康。很多家长认为孩子近视的主要原因是玩电子产品或者不良的坐姿、用眼习惯导致的&#xff0c;其实这些并不全是造成近视的因素&#xff0c;最主要的原因还是长时间的用眼导致的…

HTML5使用html2canvas转化为图片,然后再转为base64.

介绍 场景&#xff1a;今天同事提了个协助&#xff0c;将HTML5文件中的元素转为图片&#xff0c;并且最终转为base64格式传给后端。感觉还挺有意思就记录下。&#xff08;试例如下&#xff09; 步骤一&#xff1a;引入html2canvas 的js源码 html2canvas.min.js 下载地址 htt…

【密码学】Java实现DH函数时出现“Unsupported secret key algorithm: AES“错误

问题描述 jdk版本&#xff1a;8 使用DH和AES算法&#xff0c;实现密钥的交换和加密&#xff0c;测试时报错 java.security.NoSuchAlgorithmException: Unsupported secret key algorithm: AESat com.sun.crypto.provider.DHKeyAgreement.engineGenerateSecret(DHKeyAgreement…

vue 项目打包性能分析插件 webpack-bundle-analyzer

webpack-bundle-analyzer 是 webpack 的插件&#xff0c;需要配合 webpack 和 webpack-cli 一起使用。这个插件可以读取输出文件夹&#xff08;通常是 dist&#xff09;中的 stats.json 文件&#xff0c;把该文件可视化展现&#xff0c;生成代码分析报告&#xff0c;可以直观地…

高效数据传输:Java通过绑定快速将数据导出至Excel

摘要&#xff1a;本文由葡萄城技术团队原创并首发。转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 前言 把数据导出至 Excel 是很常见的需求&#xff0c;而数据的持久化&#xff0c;往往又放在…

2023年入职/转行网络安全,该如何规划?

前言 前段时间&#xff0c;知名机构麦可思研究院发布了 《2022年中国本科生就业报告》&#xff0c;其中详细列出近五年的本科绿牌专业&#xff0c;其中&#xff0c;信息安全位列第一。 网络安全前景 对于网络安全的发展与就业前景&#xff0c;想必无需我多言&#xff0c;作为…

SQL sever中的视图

目录 一、视图概述&#xff1a; 二、视图好处 三、创建视图 法一&#xff1a; 法二&#xff1a; 四、查看视图信息 五、视图插入数据 六、视图修改数据 七、视图删除数据 八、删除视图 法一&#xff1a; 法二&#xff1a; 一、视图概述&#xff1a; 视图是一种常用…

亚马逊测评工作室应该如何开展,需要准备哪些?

亚马逊测评自养号项目需要用到哪些资源呢&#xff1f;1. 防火墙独立的环境 纯净IP注册资料收货地址支付卡邮箱及手机号 想做好这个项目以上的资源缺一不可 我们先来说说养号的环境&#xff0c;养号的环境在以前的文章里也提到过&#xff0c;有很多种方案&#xff0c;我们曾经…

JUC并发编程:Monitor和对象结构

JUC并发编程&#xff1a;Monitor和对象结构 1. Monitor1.1 对象的结构1.1.1 MarkWord1.1.2 Klass Word1.1.3 数组长度1.1.4 &#x1f330; 1. Monitor Monitor官方文档 我们可以把Monitor理解为一个同步工具&#xff0c;也可以认为是一种同步机制。它通常被描述为一个对象&…

软考高级架构师下篇-18大数据架构理论设计与实践

目录 1. 引言2. 传统数据处理系统的问题1.传统数据库的数据过载问题2.大数据的特点3.大数据利用过程4.大数据处理系统架构分析3.典型的大数据架构1. Lambda架构2.Kappa架构3. Lambda架构与Kappa架构的对比4.大数据架构的实践1.大规模视频网络2.广告平台3.公司智能决策大数据系统…

Android系统修改AOSP输入法默认输入语言

Android系统中的Android键盘(AOSP)有个语言设置选项,里面默认的是“使用系统语言”,现在客户要求关闭默认“使用系统语言”,打开美式英语。即默认如下图: 网上很多方法都是设置输入法的Settings.Secure.SELECTED_INPUT_METHOD_SUBTYPE属性为 -921088104。实际测试在Andr…

黑盒测试方法:原理+实战

目录 一、如何设计测试用例 二、黑盒测试常用方法 1、基于需求进行测试用例的设计 2、等价类 3、边界值 4、判定表分析法&#xff08;因果分析法&#xff09; 5、正交表 6、场景设计法 三、案例补充 1、使用Fiddler模拟弱网 2、针对一个接口该如何测试 一、如何设计测试…