我是大白(●—●),这是我开始学习记录大白Java软件攻城狮晋升之路的第三十一天,结束了王道考研的408的计算机网络,接下来计划尚硅谷JUC和操作系统,话不多说,下面是计算机网络的应用层知识
文章目录
一、网络应用模型
1. 应用层概述
2. 网络应用模型
3. 客户/服务器(C/S)模型
服务器:提供计算服务的设备。
- 永久提供服务。
- 永久性访问地址/域名。 (例如百度的www.baidu.com)
客户机:请求计算服务的主机。
- 与服务器通信,使用服务器提供的服务。
- 间歇性接入网络。
- 可能使用动态IP地址。
- 不与其他客户机直接通信。
应用:Web、文件传输FTP、远程登录、电子邮件
4. P2P模型
- 不存在永远在线的服务器。
- 每个主机既可以提供服务,也可以请求服务。
- 任意端系统/节点之间可以直接通讯。
- 节点间歇性接入网络。
- 节点可能改变IP地址。
- 可扩展性好。
- 网络健壮性强。
二、DNS系统
1. 域名
域名:又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。
2. 域名服务器
域名服务器又叫做DNS服务器。
3. 域名解析过程
三、文件传送协议FTP
文件传送协议FTP ( File Transfer Protocol)。
提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。
简单文件传送协议TFTP (Trivial File Transfer Protocol)
1. FTP服务器和用户端
FTP是基于客户/服务器(C/S) 的协议。
用户通过一一个客户机程序连接至在远程计算机上运行的服务器程序。
依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器。
连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。
2. FTP工作原理
控制连接始终保持,数据连接保持一会。
是否使用TCP 20端口建立数据连接与传输模式有关
- 主动方式使用TCP 20端口
- 被动方式由服务器和客户端自行协商决定(端口>1024)
FTP传输模式
- 文本模式:ASCII模式, 以文本序列传输数据;
- 二进制模式:Binary模式, 以二进制序列传输数据。
四、电子邮件
1.电子邮件系统概述
电子邮件的信息格式
组成结构
2. 简单邮件传送协议SMTP
SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。
负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器。
SMTP规定了14条命令(几个字母)和21种应答信息(三位数字代码+简单文字说明)。
**SMTP的缺点: **
- SMTP不能传送可执行文件或者其他二进制对象。
- SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字。
- SMTP服务器会拒绝超过一定长度的邮件。
3. MIME
4. 邮局协议POP3
5.网际报文存取协议IMAP
IMAP协议比POP协议复杂。当用户Pc上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。
IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WiFi的时候再下载附件)。
6. 基于万维网的电子邮件
五、万维网和HTTP协议
1.万维网概述
万维网www (World Wide Web)是一个大规模的、 联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合。
用户通过点击超链接(http://www.baidu.com)) 获取资源,这些资源通过超文本传输协议(HTTP) 传送给使用者。
万维网以客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序。
万维网使用超文本标记语言HTML,使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来。
2. 超文本传输协议HTTP
HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
3. HTTP协议的特点
HTTP采用TCP作为运输层协议,但HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连
4. HTTP协议的连接方式
5. HTTP的报文结构
具体的一个例子:
HTTP/1.1是HTTP协议的一个版本。
状态码:
- 1xx表示通知信息的,如请求收到了或正在处理。
- 2xx表示成功,如接受或知道了。
- 3xx表示重定向,如要完成请求还必须采取进一步的行动。
- 4xx表示客户的差错,如请求中有错误的语法或不能完成。(例如404 Not Found)
- 5xx表示服务器的差错,如服务器失效无法完成请求。