在TCP/IP模型中,运用层是网络协议栈中最高层的一层,卖力处理网络运用之间的通信。
运用层的紧张功能包括:
供应运用程序与网络之间的接口,使运用程序能够通过网络传输数据。

定义了运用层协议,如HTTP、SMTP、FTP等,用于规定运用程序之间的通信规则和数据格式。
实现了运用层协议的解析和处理,包括对数据的封装、路由、拆分和重组等。
供应了各种网络做事的功能,如电子邮件、文件传输、远程登录等。
运用层协议是运用程序直策应用的协议,因此运用层协议的设计须要考虑到运用程序的需求和特点。同时,运用层还卖力将数据传输到传输层,将吸收到的数据通报给相应的运用程序。
二.域名系统DNS
域名系统(Domain Name System, DNS)是互联网的根本做事之一,它将用户友好的域名(如www.example.com)转换为打算机可以理解的IP地址(如192.0.2.1)。这个过程称为域名解析。DNS的紧张浸染是通过将便于影象的域名转换为实际的IP地址,帮助用户更方便地访问互联网资源。比如我们平常利用百度都是直接访问baidu.com而没有人去输入百度的IP地址,有了DNS的帮助,可以极大程度上优化用户的体验。
以下是DNS的基本事情事理:
用户输入域名:用户在浏览器地址栏输入域名。
DNS解析器查询:浏览器向本地DNS解析器发送查询要求。
本地缓存检讨:本地DNS解析器先检讨缓存中是否有对应的IP地址。
如果有缓存记录,则直接返回IP地址。
如果没有缓存记录,则连续向上级DNS做事器查询。
递归查询:如果本地DNS解析器没有找到结果,它会递归查询其他DNS做事器。查询过程常日从根DNS做事器开始,逐级向下查询顶级域(TLD)做事器和威信DNS做事器。
得到IP地址:终极,威信DNS做事器返回域名对应的IP地址。
返回结果:本地DNS解析器将IP地址返回给用户的浏览器。
建立连接:浏览器利用得到的IP地址与目标做事器建立连接,获取网页内容。
DNS系统分为多个层级,包括:
根域名做事器:管理顶级域(如.com、.org等)的信息。
顶级域(TLD)做事器:管理特定顶级域内的所有域名(如.com域的所有域名)。
威信DNS做事器:存储详细域名及其对应的IP地址信息。
缓存DNS做事器:保存近期解析过的DNS记录,减少重复查询。
▐ 域名构造
互联网的域名构造采取层次化的分级体系,每个域名由多个部分组成,从右到左依次为顶级域、二级域、三级域等,形成一个树状构造。以下是详细的域名构造:
顶级域(Top-Level Domain, TLD):通用顶级域(gTLD):如.com、.org、.net、.info等。国家代码顶级域(ccTLD):如.cn(中国)、.uk(英国)、.jp(日本)等。
二级域(Second-Level Domain, SLD):位于顶级域之下,常日由注册者选择和注册。例如,在example.com中,example是二级域。
三级域(Third-Level Domain):二级域下的子域。例如,在www.example.com中,www是三级域。
更低级别的域(Lower-Level Domains):根据须要,可以进一步划分为四级域、五级域等。例如,sub.www.example.com中,sub是四级域。
示例:
www.example.com
com:顶级域(TLD)
example:二级域(SLD)
www:三级域
三.文件传输协议FTP
FTP (File Transfer Protocol) 是一种用于在网络中传输文件的标准协议。它是一个客户端-做事器协议,许可用户通过客户端程序与远程做事器建立连接并进行文件的上传和下载。
利用FTP,用户可以在本地打算机和远程做事器之间传输文件。用户须要输入远程做事器的IP地址或域名、用户名和密码来建立连接。一旦连接建立成功,用户可以浏览做事器上的文件和目录,并进行文件的上传和下载。
FTP协议利用两个不同的连接:掌握连接和数据连接。掌握连接用于传输命令和回应,而数据连接用于传输实际的文件数据。
FTP支持多种操作,包括上传文件、下载文件、创建目录、删除文件、重命名文件、浏览文件列表等。同时,FTP还供应了认证和安全机制,如用户名和密码验证、加密传输等,以保护文件传输的安全性。
由于FTP是一种老旧的协议,存在一些安全性和性能方面的限定。因此,现在更常用的是基于FTP的安全协议,如SFTP (SSH File Transfer Protocol) 和FTPS (FTP over SSL/TLS)。这些协议通过加密和身份验证等机制供应更高的安全性和性能。
FTP协议利用两个不同的端口号:
掌握连接端口(Command Port):默认利用端口号21。该端口用于建立掌握连接,用于传输FTP命令和回应。
数据连接端口(Data Port):默认利用端口号20。该端口用于建立数据连接,用于传输实际的文件数据。
四.万维网WWW
万维网(World Wide Web)是一种基于超文本的联机信息系统,英文简称是Web,是互联网的一部分。它由一系列的网页(Web Page)组成,这些网页通过超链接(Hyperlink)相互连接。通过万维网,人们可以通过浏览器访问和浏览网页上的内容,如文本、图像、音频、视频等。
万维网的观点由英国科学家蒂姆·伯纳斯-李(Tim Berners-Lee)于1989年提出,并在1990年创造了第一个网页浏览器和做事器。万维网的设计理念是将信息以分布式的办法组织起来,使之能够被广泛地共享和访问。
通过万维网,人们可以搜索和获取各种信息,进行在线购物、在线娱乐、社交网络等活动。万维网以客户做事器办法事情,客户机向做事器发出要求,做事器程序向客户端程序送回客户想要的万维网文档。在这个过程中须要办理以下几个问题:
若何标志分布在全体互联网上的万维网文档?
用什么样的协议来实现万维网上的各种链接?
若何使不同作者创作的不同风格的万维网文档,都能在互联网上的各种主机上显示出来,同时利用户清楚地知道在什么地方存在着链接?
为理解决第一个问题,万维网利用统一资源定位符URL (Uniform Resource Locator)来标志万维网上的各种文档,并使每一个文档在全体互联网的范围内具有唯一的标识符URL。
为理解决上述的第二个问题,就要使万维网客户程序与万维网做事器程序之间的交互遵守严格的协议,这便是超文本传送协议HTTP(Hyper Text Transfer Protocol)。HTTP是一个运用层协议,它利用TCP连接进行可靠的传送。
为理解决上述的第三个问题,万维网利用超文本标记措辞HTML(Hyper Text Markup Language),使得万维网页面的设计者可以很方便地用钱接从本页面的某处链接到互联网上的任何一个万维网页面,并且能够在自己的主机屏幕上格文些页面显示出来。末了,用户可利用搜索工具在万维网上方便地查找所需的信息。
▐ 统一资源定位符URL
统一资源定位符(Uniform Resource Locator, URL)是用于标识和定位互联网上的资源的字符串。URL是一种子集,属于更广泛的统一资源标识符(Uniform Resource Identifier, URI)家族。URL供应了资源的位置以及访问该资源的方法。
URL的构造
URL的基本构造由多个部分组成,每个部分都有特定的功能。这些部分常日以某种格式组合在一起,以便唯一地标识和访问资源。URL的范例构造如下:
scheme://userinfo@host:port/path?query#fragment
1. 方案(Scheme)
表示资源访问的协议类型,如http、https、ftp、mailto等。
例子:http、https。
2. 用户信息(Userinfo)
可选部分,包含用户名和密码,用于访问受保护的资源。
格式:username:password@。
例子:user:pass@。
3. 主机(Host)
表示资源所在的做事器,可以是域名或IP地址。
例子:www.example.com、192.0.2.1。
4. 端口(Port)
可选部分,指定访问资源的端口号,默认情形下HTTP利用80端口,HTTPS利用443端口。
格式::port。
例子::8080。
5. 路径(Path)
表示资源在做事器上的详细位置,常日以/分隔的层级构造表示。
例子:/path/to/resource。
6. 查询(Query)
可选部分,包含一些参数,用于向资源通报额外的信息。常日以键值对的形式表示,多组键值对用&分隔。
格式:?key1=value1&key2=value2。
例子:?search=example&lang=en。
7. 片段(Fragment)
可选部分,指向资源内的某个部分或位置,常日用于HTML文档中的锚点。
格式:#fragment。
例子:#section1。
URL示例
以下是一些URL的示例,展示了不同部分的组合和用场:
大略的HTTP URL
http://www.example.com/index.html
Scheme: http
Host: www.example.com
Path: /index.html
带有端口的URL
http://www.example.com:8080/index.html
Scheme: http
Host: www.example.com
Port: 8080
Path: /index.html
带有查询参数的URL
http://www.example.com/search?q=openai&lang=en
Scheme: http
Host: www.example.com
Path: /search
Query: q=openai&lang=en
URL在Web中的浸染
资源定位:URL是访问网页、图片、视频等各种资源的根本。
导航和链接:URL用于超链接,帮助用户在不同网页和网站之间导航。
数据通报:通过查询参数通报数据,实现搜索、过滤等功能。
▐ 超文本传输协议HTTP
超文本传输协议(HyperText Transfer Protocol, HTTP)是用于在万维网上分布式、协作和超媒体信息系统中传输数据的运用层协议。HTTP是Web的根本,通过它,客户端和做事器能够相互通信并交流信息。
HTTP是一种无状态的协议,意味着每个要乞降相应都是独立的,不保留任何状态信息。每次客户端发送要求时,都须要包含所有必要的信息,做事器在相应后不会保留任何要求的信息。
HTTP通信由要求(Request)和相应(Response)组成。客户端发送HTTP要求,做事器处理要求后返回HTTP相应。
HTTP要求
一个HTTP要求由以下部分组成:
要求行(Request Line):包含要求方法、要求目标(URI)和HTTP版本。
要求头(Request Headers):包含描述要求的元数据(例如,主机、用户代理、接管的内容类型等)。
空行:用于分隔要求头和要求体。
要求体(Request Body):可选,包含要发送到做事器的数据(如表单数据)。
示例要求:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html
HTTP相应
一个HTTP相应由以下部分组成:
状态行(Status Line):包含HTTP版本、状态码和状态描述。
相应头(Response Headers):包含描述相应的元数据(例如,内容类型、内容长度等)。
空行:用于分隔相应头和相应体。
相应体(Response Body):可选,包含做事器返回的数据(如网页内容)。
示例相应:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>
常见的HTTP方法
GET:要求指定资源。只用于要求数据,不应修正做事器上的任何资源。
POST:向指定资源提交数据,常日用于表单提交。
PUT:向指定资源上传数据,更换目标资源的所有当前表示。
DELETE:要求删除指定资源。
HEAD:类似GET,但只要求资源的头部信息,不返回相应体。
OPTIONS:返回做事器支持的HTTP方法。
PATCH:对指定资源进行部分修正。
HTTP状态码
HTTP状态码由三位数字组成,表示做事器对要求的处理结果。常见状态码如下:
1xx(信息性):要求已吸收,连续处理。
100 Continue
2xx(成功):要求已成功处理。
200 OK
201 Created
3xx(重定向):须要进一步操作以完成要求。
301 Moved Permanently
302 Found
4xx(客户端缺点):要求包含缺点或无法处理。
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
5xx(做事器缺点):做事器在处理要求时发生缺点。
500 Internal Server Error
502 Bad Gateway
503 Service Unavailable
HTTP的版本
HTTP/1.0:最初版本,支持基本的要乞降相应功能。
HTTP/1.1:改进了持久连接、管道化传输、分块传输编码等。
HTTP/2:引入二进制分帧、多路复用、头部压缩等特性,提高了传输性能。
HTTP/3:基于QUIC协议,进一步提升传输效率和安全性。
HTTP广泛运用于Web浏览、API通信、文件传输等领域。它是浏览器与Web做事器、客户端与RESTful做事之间通信的紧张协议。
▐ 超文本标记措辞HTML
超文本标记措辞(HTML)是一种用于创建网页的标记措辞。HTML利用标签来描述网页中的各种元素和构造。这些标签被放置在尖括号(<>)中,并以开始标签和结束标签的形式涌现,开始标签以"<"开头,结束标签以"/>"结尾。
HTML标记措辞可以定义文本的构造、布局、链接、图像、音频、视频等内容。它许可开拓职员在网页中插入文本、图像、链接等元素,并通过利用干系的属性来掌握这些元素的外不雅观和行为。
HTML是开放标准,由万维网同盟(W3C)卖力掩护和发展。它是网页开拓的根本,在互联网上广泛运用。通过利用HTML,开拓职员可以创建具有各种功能和交互性的网页,从大略的静态网页到繁芜的动态网站。
以下便是一个大略的静态万维网文档
<!DOCTYPE html>
<html>
<head>
<title>页面标题</title>
</head>
<body>
<h1>这是一个标题</h1>
<p>这是一个段落。</p>
</body>
</html>
动态万维网文档
动态万维网文档(Dynamic Web Document)是一种根据用户的要乞降动作而天生的网页内容。与静态网页不同,动态网页的内容不是预先编写好的静态HTML文件,而是根据做事器真个程序和数据库等进行实时天生的。
动态网页常日由两部分组成:前端和后端。前端部分卖力处理用户的输入和交互,并将数据发送到后端。后端部分则根据吸收到的数据进行处理,从数据库中检索所需的信息,对数据进行操作,最终生成动态内容,并将其发送回前端以供用户浏览。
动态网页的实现常日利用做事器真个脚本措辞(如PHP、Python、Ruby等)和数据库(如MySQL、Oracle等)。通过这些技能,开拓职员可以根据用户的需求和数据库中的数据天生具有个性化和实时性的网页内容。
动态网页的优点是可以实现更繁芜的交互功能和个性化定制,适用于须要实时更新内容的场景,如社交媒体、电子商务网站等。然而,相对付静态网页而言,动态网页在加载速率上可能会稍慢,并且须要更多的做事器资源来处理和天生内容。
活动万维网文档
活动万维网文档(Active Web Document)是指具有动态交互性和实时更新能力的网页文档。与静态网页和动态网页比较,活动万维网文档更加具有实时性和个性化定制的特点。
活动万维网文档通过利用前端技能(如JavaScript)和后端技能(如做事器端脚本)实现动态交互功能。它可以根据用户的行为和输入,动态地改变网页的内容、样式和行为。常见的例子包括在线游戏、即时通讯、实时更新的股票报价等。
与动态万维网文档比较,活动万维网文档更加看重实时性和交互性。它可以通过利用前端技能实现实时的动画效果、实时响运用户的操作。而动态网页更加强调后端技能,通过做事器真个脚本和数据库等来天生和供应动态的网页内容。
总的来说,动态万维网文档是指通过做事器端脚本和数据库等实时天生的网页内容,而活动万维网文档是指具有动态交互性和实时更新能力的网页文档。活动万维网文档可以通过前端技能实现实时的动画效果和实时响运用户的操作,更加看重实时性和交互性。
五.邮件收发协议
常见的邮件收发协议有以下几种:
POP3(Post Office Protocol Version 3):是一种用于从邮件做事器上收取电子邮件的协议。它许可用户将电子邮件下载到本地设备上,并在本地设备上进行管理。
IMAP(Internet Message Access Protocol):与POP3类似,也是用于从邮件做事器上收取电子邮件的协议。不同的是,IMAP许可用户在本地设备上查看邮件的同时,也可以在做事器上对邮件进行管理,如创建文件夹、删除邮件等操作。
SMTP(Simple Mail Transfer Protocol):是一种用于发送电子邮件的协议。SMTP将邮件从发送者的邮件客户端发送到吸收者的邮件做事器,并在做事器之间进行中转,直到邮件被送达到吸收者的邮件做事器。
POP3S和IMAPS:分别是POP3和IMAP的安全版本,利用SSL/TLS加密通信,确保邮件在传输过程中的安全性。
这些协议在电子邮件的收发过程中扮演着重要的角色,担保了邮件的可靠传输和安全性。这里单独对SMTP大略阐明一下。
SMTP(Simple Mail Transfer Protocol)是一种用于发送电子邮件的协议。它定义了邮件从发送者的邮件客户端发送到吸收者的邮件做事器的传输规则。SMTP协议利用TCP作为传输层协议,它利用25号端口来进行通信。
在SMTP协议中,发送邮件的过程可以大略地分为以下几个步骤:
建立连接:发送者的邮件客户端通过向吸收者的邮件做事器发送连接要求来建立连接。连接要求包括发送者的身份验证和连接建立的哀求。
握手:吸收者的邮件做事器吸收到连接要求后,会发送一个握手相应,关照发送者连接已建立。
发送邮件:发送者通过SMTP命令向吸收者的邮件做事器发送邮件内容。常用的SMTP命令包括HELO(发送者的身份验证)、MAIL FROM(指定发送者的电子邮件地址)、RCPT TO(指定吸收者的电子邮件地址)、DATA(开始发送邮件内容)、QUIT(关闭连接)等。
传输邮件内容:发送者将邮件内容以文本格式发送给吸收者的邮件做事器。邮件内容包括邮件主题、发件人、收件人、邮件正文、附件等。
邮件路由:吸收者的邮件做事器根据收件人的地址,将邮件转发给相应的收件人。
结束连接:邮件发送完毕后,发送者的邮件客户端发送QUIT命令关照吸收者的邮件做事器关闭连接。
SMTP协议的设计目标是快速、可靠地通报电子邮件,并供应一定的缺点处理和反馈机制。它是电子邮件系统中不可或缺的一部分,广泛运用于各种邮件客户端和邮件做事器之间的通信。