| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> TCP/IP模型--应用层: -> 正文阅读 |
|
[网络协议]TCP/IP模型--应用层: |
1、应用层:网络应用是计算机网络体系结构的最上层,网络应用程序运行在网络边缘的端系统上,通过彼此间的通信来共同完成某项任务。应用层规定了应用进程在通信时所遵循的协议。 2、应用层协议:为实现某种网络应用,不论是客户进程和服务器进程之间,还是对等方之间,都需要遵循的某种通信协议。 2.1应用层协议之HTTP协议(超文本传输协议):
? HTTP协议定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把万维网文档传送给浏览器。HTTP使用的运输层协议是TCP,默认端口号是80。
(1)请求报文:由客户端向服务端发送请求报文 (2)响应报文:由服务端向客户端发送响应报文,作为请求报文的应答
状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别: 1xx:指示信息–表示请求已接收,继续处理 2xx:成功–表示请求已被成功接收、理解、接受 3xx:重定向–要完成请求必须进行更进一步的操作 4xx:客户端错误–请求有语法错误或请求无法实现 5xx:服务器端错误–服务器未能实现合法的请求
HTTP/1.0协议:采用非持续连接方式,在非持续连接方式中,浏览器每次请求一个文件,浏览器都首先要和服务器TCP连接,当浏览器收到响应后就立即关闭连接,即一次请求或响应对应一个TCP连接。 浏览器和服务器建立TCP连接需要三次握手,当三次握手的前两次完成(已经过了一个RTT时间),此时浏览器会把请求报文放在三次握手的第三部分,作为TCP连接确认报文的数据发送给服务器,服务器收到请求报文后,就根据请求将浏览器所请求的数据发送给浏览器。 RTT:一个连接的往返时间 缺点:因为每次请求,浏览器都要与服务器先建立TCP连接,而建立TCP连接是需要一定的时间的,若RTT值较大,请求开销就会比较大,影响用户体验。
HTTP/1.1协议:使用的是持续连接方式,该方式和上图类似,只不过服务器发送完响应后仍然保持这一条连接,使得同一用户浏览器和该服务器始终保持连接状态,后续用户可以持续在这条连接上发送请求报文,接收响应报文。HTTP/1.1协议还可以使用流水线方式工作,即浏览器在收到HTTP的响应报文之前可以流水线式的连续发送多个请求报文,然后服务在接收到请求报文后,服务器逐个的发送请求报文。 优点:节省了RTT的次数,提高了效率。 2.2应用层协议–FTP协议(文件传输协议): ? 文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。 2.3应用层协议–STMP协议(简单邮件传输协议): ? SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议:是一组用于由源地址到目的地址传送邮件 的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件 时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程 只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。SMTP 是一种TCP协议支持的提供可靠且有效电子邮件传输的应用层协议。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 17:30:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |