这是我参与「第三届青训营 -后端场」笔记创作活动的的第5篇笔记。
本篇笔记主要记录应用层协议。
HTTP协议(超文本传输协议)
超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,是用于从万维网服务器传输超文本到本地浏览器的传送协议。它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。
HTTP是基于B/S架构进行通信的,而HTTP的服务器端实现程序有httpd、nginx等,其客户端的实现程序主要是Web浏览器,例如Firefox、Internet Explorer、Google chrome、Safari、Opera等,此外,客户端的命令行工具还有elink、curl等。Web服务是基于TCP的,因此为了能够随时响应客户端的请求,Web服务器需要监听在80/TCP端口。这样客户端浏览器和Web服务器之间就可以通过HTTP进行通信了。
FTP协议(文件传输协议)
FTP(File Transfer Protocol)协议,文件传输协议。提供交互式的访问,对传输文件的格式和类型有分类,允许文件具有存取权限。适合异构网络任意计算机的传送。
FTP 协议
FTP工作在TCP/IP模型的应用层,基于传输协议TCP,FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。
FTP的基本功能:
1.提供不同种类主机系统(硬,软件体系等都可以不同)之间的文件传输能力。
2.以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力。
3.以匿名FTP的方式提供公用文件共享的能力。
POP3协议(收邮件)
POP3全称为Post Office Protocol version3,即邮局协议第3版。它被用户代理用来邮件服务器取得邮件。POP3采用的也是C/S通信模型.
SMTP协议(发邮件) SMTP(Simple Mail Transfer Protocol)协议,即简单邮件传输协议,尽管邮件服务器可以用SMTP发送、接收邮件,但是邮件客户端只能用SMTP发送邮件,接收邮件一般用IMAP 或者 POP3 。邮件客户端使用TCP的25号端口与服务器通信。
DNS协议(地址解析)
TCP/IP中使用IP地址和端口号来确定网络上某一台主机上的某一个程序,但是IP地址是点分十进制,不方便记忆。12个阿拉伯数字很难记忆。使用一个名称更容易。因此,就出现了域名,如:www.baidu.com。
域名和IP的对应关系保存在一个叫hosts文件中。当你键入一个像www.baidu.com/ 这样的域名,域名会被一种 DNS 程序翻译为数字。在全世界,数量庞大的 DNS 服务器被连入因特网。DNS 服务器负责将域名翻译为 TCP/IP 地址,同时负责使用新的域名信息更新彼此的系统。当一个新的域名连同其 TCP/IP 地址一同注册后,全世界的 DNS 服务器都会对此信息进行更新。