计算机网络基础知识--应用层协议HTTP、FTP、SMTP

目录

1. HTTP 协议

HTTP 特点

HTTP 与HTTPS 的区别

HTTP 请求报文

HTTP 响应报文

2. FTP 协议 与TFTP 协议

FTP 协议

TFTP 协议

3. SMTP 协议、POP3协议与IMAP协议

SMTP协议 

POP3协议

IMAP 协议


1. HTTP 协议

HTTP(HyperText Transfer Protocol)  超文本传输协议

HTTP 特点

1.  HTTP 由 两个程序实现:客户程序和服务器程序。客户程序和服务器程序运行在不同的端系统中(Web浏览器实现了 HTTP 的客户端,Web服务器实现了 HTTP 的服务器端),通过交换HTTP报文进行会话。HTTP定义了这些报文的结构以及客户与服务器进行报文交换的方式。

2. HTTP 使用TCP作为它的支撑运输协议,TCP能为HTTP提供可靠数据传输服务。

3. 由于 HTTP 服务器向客户发送被请求的文件时 不存储关于该客户的状态信息,所以HTTP 是无状态协议。 

HTTP 与HTTPS 的区别

(1) HTTP 是超文本传输协议,信息是明文传输;HTTPS则是具有安全性的SSL加密传输协议。

(2) 使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。

(3) HTTP 连接比较简单,是无状态的;HTTPS 协议是由SSL+HTTP 协议构建的可进行加密传输、身份验证的网络。

(4) HTTP 的端口是80;HTTPS 的端口是443。

HTTP 请求报文

http请求报文的结构如下: 

计算机网络基础知识--应用层协议HTTP、FTP、SMTP_第1张图片

请求行包含方法、请求资源的URL 和 HTTP版本。其中方法 有以下几种:

计算机网络基础知识--应用层协议HTTP、FTP、SMTP_第2张图片

HTTP的URL格式:

HTTP请求报文举例: 

计算机网络基础知识--应用层协议HTTP、FTP、SMTP_第3张图片

HTTP 响应报文

http 响应报文的结构如下: 

计算机网络基础知识--应用层协议HTTP、FTP、SMTP_第4张图片

状态行包含版本、状态码和相应状态信息。五大类状态码如下:

计算机网络基础知识--应用层协议HTTP、FTP、SMTP_第5张图片

 一些常见的状态码和相应状态信息包括:

200  OK : 请求成功,信息在返回的响应报文里。

301 Moved Permanently:请求的对象已经被永久转移了。

400 Bad Request:错误请求。

404 Not Found:被请求的文档不在服务器上。

505 HTTP Version Not Supported:服务器不支持请求报文使用的HTTP协议版本。

2. FTP 协议 与TFTP 协议

FTP 协议

FTP (File Transfer Protocol)  文件传送协议

FTP 提供交互式的访问,允许客户指定文件的类型和格式,并允许文件具有存取权限。

计算机网络基础知识--应用层协议HTTP、FTP、SMTP_第6张图片

FTP基于TCP,采用C/S架构,在进行文件传输时,FTP 的客户和服务器之间要建立两个并行的 TCP 连接,控制连接端口号21,数据连接端口号20

控制连接:服务器打开端口号 21 等待客户端的连接,客户端主动建立连接后,使用这个连接将客户端的命令传送给服务器,并传回服务器的应答。控制连接在整个会话中一直打开(带外传输)。

数据连接 :用来传送文件数据,有主动模式和被动模式。


主动模式(PORT方式)

主动模式的核心是FTP客户端告诉服务端自己开发哪个端口作为数据端口,然后让服务端来连接自己。主动模式的连接建立一般是通过几个步骤:

1.客户端随机打开一个本地大于1024的端口P1

2.客户端通过端口P1向服务器控制端口(端口21)发起连接请求

3.服务器进行认证成功,请求建立

4.客户端对本地端口P2进行监听并向服务器发送“Port P1+1”,告诉服务器客户端的数据监听端口。

5.服务器收到端口后,从自己的数据端口(端口20)发起连接,连接到客户端指定的数据端口P1+1.


被动模式(PASV方式)

由于主动方式中,服务端需要主动连客户端,对于客户端的防火墙来说,属于外部连接内部,会出现被阻塞的情况。 被动方式解决了这个问题。被动方式的步骤如下:

1.客户端任意打开约1024的两个本地端口(P1和P1+1)

2.P1端口发送请求连接服务器的21端口(控制连接端口)同时提交PASV命令。

3.服务器收到请求后,会开启任意一个大约1024的端口P2,然后返回如下格式内容:

227 entering passive mode(h1,h2,h3,h4,p1,p2)

4.客户端收到服务端返回的内容后,计算出服务端开放的数据连接端口

5.客户端通过P1+1端口向服务端的发送连接请求。进行数据传输。

TFTP 协议

TFTP (Trivial File Transfer Protocol)简单文件传送协议
TFTP 是一个很小且易于实现的文件传送协议,它使用客户服务器方式,使用UDP数据报。

TFTP的优点:

1. 可用于UDP环境

2. TFTP 代码所占的内存比较小。


3. SMTP 协议、POP3协议与IMAP协议

SMTP协议 

SMTP (Simple Mail Transfer Protocol) 简单邮件传送协议

SMTP使用客户服务器方式,端口号25

一个电子邮件系统主要由三个组件构成:用户代理、邮件服务器、邮件发送协议(SMTP)和邮件读取协议(POP3)。其中POP3 (Post Office Protocol)是邮局协议的版本3。用户代理是用户与电子邮件系统的接口,在大多数情况下,它是运行在用户电脑的一个程序,因此也被成为 电子邮件客户端软件。

计算机网络基础知识--应用层协议HTTP、FTP、SMTP_第7张图片

  SMTP是因特网电子邮件的核心。SMTP用于从发送方的邮件服务器到接收方的邮件服务器。值得一提的是,SMTP一般不使用中间邮件服务器发送邮件,即使这两个邮件服务器位于地球的两端也是这样。

电子邮件地址格式:

POP3协议

 POP3 (Post Office Protocol)  邮局协议第3个版本   端口号110

POP3 使用的客户服务器的方式。它的特点是只要用户从POP3服务器读取了邮件,POP3服务器就把该邮件删除。

IMAP 协议

IMAP(Internet  Message Access) 网际报文存取协议  端口号143

IMAP 按客户服务器的方式工作。

IMAP 比POP3复杂的多,它的优点是:用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己在邮件服务器的邮件。缺点是:如果用户没有将邮件复制到自己的计算机上,则邮件一直存放在IMAP服务器上。要想查阅自己的邮件,必须先上网。

注: POP3 和IMAP 都是用户代理从接收方邮件服务器上读取邮件的协议。

你可能感兴趣的:(计算机网络,计算机网络)