应用层-DNS,HTTP,邮件协议小小总结

应用层DNS,HTTP,邮件协议

1.DNS协议

1.1域名系统(Domain Name System)

  • 进行主机名(字母和数字)到IP地址(点分十进制)的转换
  • 一个由分层的DNS服务器实现的分布式数据库
  • 允许主机查询分布式数据库的应用层协议
  • 运行于UDP协议之上,使用53号端口
  • 通常由其他的应用层协议(包括HTTP、SMTP和FTP)使用
  • 域名服务器自身也会进行一些缓存,把曾经访问过的域名和对应的IP地址缓存起来,可以加速查找过程。

1.2DNS服务器的部分层次结构

1.3本地DNS服务器

  • 严格来说,不属于DNS服务器的层次结构
  • 每个ISP(互联网服务提供商)都有一台本地DNS服务器(也叫默认DNS服务器)
  • 主机的本地DNS服务器通常“邻近”本主机
  • 当主机发出DNS请求时,该请求被发往本地DNS 服务器,它起着代理的作用,并将该请求转发到DNS服务器层次结构中。

1.4DNS的两种查询方式

  • 通常情况下,主机向本地域名服务器的查询一般都是采用递归查询,本地域名服务器向根域名服务器的查询通常采用迭代查询。
  • 递归查询就是一件事交给别人来做,如果事情没有办完,哪怕已经办的差不多了,都不要将结果告诉给我;迭代查询是交给别人一件事情,能做多上就告诉我做了多少,剩下的我来做完。


1.5资源记录(RR)

  • 资源记录是一个包含了下列字段的4元组:

    (Name,Value,Type,TTL)

  • TTL为该记录的生存时间,决定了资源记录应当从缓存中删除的时间。

  • Name和Value的值取决于Type:

    • Type=A,Name则是主机名,Value是该主机对应的IP地址。提供了标准的主机名到IP地址的映射。(relayl.bar.foo.com,145.37.93.126,A)
    • Type=NS,Name是一个域(如foo.com),Value是个知道如何获得该域中主机IP地址的权威DNS服务器主机名。该记录用于沿着查询链来路由DNS查询。 (foo.com,dns.foo.com,NS)
    • Type=CNAME,Value是别名为Name的主机对应的规范主机名。向查询的主机提供一个主机名对应的规范主机名。(foo.com,relayl.bar.foo.com,CNAME)
    • Type=MX,Value是别名为Name的邮件服务器的规范主机名。(foo.com,mail.bar.foo.com,MX)MX记录允许邮件服务器主机名具有简单的别名。
    • 注意:通过使用MX记录,一个公司的邮件服务器和其他服务器(如Web服务器)可以使用相同的别名

1.6DNS报文

  • 包含查询报文和回答报文,且格式相同

应用层-DNS,HTTP,邮件协议小小总结_第1张图片

  • 标识符:用于标识该查询
  • 标志:若干标志位。含1bit的“查询/回答”标志位。0:查询。1:回答

2.HTTP协议

2.1概况

  • Web页(文档):由若干对象组成
  • 对象:是文件,通过URL地址来寻址。如HTML文件、JPEG图形文件、JAVA小程序等。每个对象由URL来寻址。
  • URL(Uniform Resource Loactor):统一资源定位符。服务器主机名和对象的路径名。
  • HTTP是无状态协议,服务器不保存关于客户机的任何信息。

2.2请求报文

2.3响应报文

  • 响应行:HTTP版本+状态码+状态短语

  • 应用层-DNS,HTTP,邮件协议小小总结_第3张图片

  • HTTP状态码:

    • 1xx:指示信息,表示请求已接收,继续处理
    • 200:成功,OK。
    • 301:永久重定向,表示请求的资源已经永久的搬到了其他位置。3xx表示重定向。
    • 404:在服务器没找到请求的文档。4xx表示客户端错误。
    • 505:服务器不支持请求报文使用的HTTP版本。5xx表示服务器端错误。

2.4HTTP1.1和HTTPS

  • HTTP/1.0:发送请求,创建一次连接,获得一个web资源,连接断开

    HTTP/1.1:发送请求,创建一次连接,获得多个web资源,连接断开

    主要区别:可扩展、缓存、宽带优化、长连接、消息传递、Host头域、错误提示、内容协商

  • HTTP2新特性:

    • 新的二进制格式:采用二进制格式而非文本格式
    • 降低延迟
    • 多路复用:完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行
    • header压缩:降低开销
    • 服务端推送:让服务器将相应主动“推送”到客户端缓存中
  • 区别 HTTP HTTPS
    协议 运行在 TCP 之上,明文传输,客户端与服务器端都无法验证对方的身份 身披 SSL( Secure Socket Layer )外壳的 HTTP,运行于 SSL 上,SSL 运行于 TCP 之上, 是添加了加密和认证机制的 HTTP
    端口 80 433
    资源消耗 较少 由于加解密处理,会消耗更多的 CPU 和内存资源
    开销 无需证书 需要证书,而证书一般需要向认证机构购买
    加密机制 共享密钥加密和公开密钥加密并用的混合加密机制
    安全性 由于加密机制,安全性强

3.SMTP、POP3、IMAP

  • SMTP负责“发”,运行于邮件服务器之间,用户代理发送邮件的时候使用;POP3/IMAP负责“收”,用户代理从邮件服务器收取邮件。
  • POP3工作步骤:
    • 特许阶段:用户代理发送用户名和口令获得下载邮件的特许(身份认证)
    • 事务处理阶段:用户代理取回报文,进行操作。
    • 更新阶段:邮件服务器删除带有删除标记的报文,POP回话结束。
  • POP3的缺点:读取邮件后,服务器不再保存
  • IMAP:功能强,相当于在线编辑。
  • 应用层-DNS,HTTP,邮件协议小小总结_第4张图片

------本篇完------

你可能感兴趣的:(计算机网络,java,http,面试,网络,smtp)