域名解析协议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
- ......