应用层的常见协议

域名解析协议DNS

因特网域名系统DNS是一个分布式数据库联机系统,采用客户机/服务器(C/S)应用模式。

客户机可以通过域名服务程序将域名解析成IP地址。当用户在浏览器中输入域名并按回车键之后:

  • 第一步,浏览器会检查缓存中有没有该域名对应的IP地址,如果有,解析过程结束;
  • 第二步,如果没有,浏览器检查操作系统缓存中是否有对应的DNS解析结果;
  • 第三步,在本机中无法完成解析,操作系统把请求发送给本地域名服务器(LDNS)查询;
  • 第四步,如果LDNS仍没有命中,直接到Root Seaver域名服务器查询;
  • 第五步,跟域名服务器返回给本地域名服务器一个所查询域的主域名服务器(gTLD),gTLD是国际顶级域名服务器如.com, .cn, .org等。
  • 第六步,本地域名服务器向gTLD服务器发送请求;
  • 第七步,gTLD服务器查找并返回此域名对应的Name Seaver服务器的地址,Name Seaver就是该域名注册时的域名服务器,该域名是在某个域名服务提供商申请的,那么该域名解析任务就由此域名提供商解析;
  • 第八步,Name Seaver服务器查询域名对应的IP,连同一个TTL值返回给DNS Seaver域名服务器;
  • 第九步,返回该域名对应的的IP和TTL,本地域名服务器会缓存该域名和IP地址的对应关系,缓存时间由TTL控制;
  • 第十步,本地域名服务器将结果返回给用户,用户根据TTL值缓存在本地系统中。

简单邮件传输协议SMTP

SMTP采用TCP链接;SMTP不使用中间的邮件服务器。

多用途邮件扩展类型MIME

由于SMTP只能传输ASCII码编码的文本,所以当发送非ASCII码的二进制数据时,必须先采用某种编码方式将其编码为可打印的ASCII码字符后,再作为邮件格式内容。

MIME不是对因特网文本报文格式的升级和替代,而是一种扩展。

超文本传输协议HTTP

HTTP包含HTTP Header和HTTP Body。HTTP头控制着互联网上的数据传输,还控制着用户浏览器的渲染行为和服务器的执行逻辑。

常见的HTTP请求头:

请求头 说明
Accept-Charset 用于指定客户端接受的字符集
Accept-Encoding 用于指定可接受的内容编码
Accept-Language 用于指定一种自然语言
Host 用于指定被请求资源的Internet主机号和端口号
User-Agent 客户端将它的操作系统、浏览器和其他属性告诉服务器
Connection 当前连接是否保持

常见的HTTP响应头:

响应头 说明
Server 使用的服务器名称
Content-Type 用来指明发送给接收者的实体正文的媒体类型
Content-Encoding 与请求头的Accept-Encoding相对应,告诉浏览器服务端采用的压缩编码格式
Content-Language 描述了资源所用的自然语言与Accept-Language对应
Content-Length 指明实体正文的长度,用以字节方式存储的十进制数字表示
Keep-Alive 保持连接时间

常见的HTTP状态码:

状态码 说明
200 客户端请求成功
302 临时跳转,跳转的地址通过Location指定
400 客户端请求有语法错误,不能被服务器识别
403 服务器收到请求,但拒绝提供服务
404 请求支援不存在
500 服务器发生不可预期错误

应用层的其他常见协议:

  • 文件传输协议FTP
  • 邮局协议第三版POP3
  • 因特网报文存取第四版IMAP4
  • 远程登录服务标准协议Telent
  • 简单文件传输协议TFTP
  • 简单网络管理协议SNMP
  • ......

猜你喜欢

转载自my.oschina.net/HuoQibin/blog/1631937