应用层协议详解 HTTP,DNS,STMP等
一HTTP
- http协议简介
1)、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
2)、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
3)、HTTP 0.9和1.0使用非持续连接:限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接。HTTP 1.1使用持续连接:不必为每个web对象创建一个新的连接,一个连接可以传送多个对象,采用这种方式可以节省传输时间。
4)、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
5)、支持B/S和C/S模式。
2http2.0
3http的长短连接
首先要明白一点所谓的连接是指TCP连接,但是我们可以Http的请求头设置 keep-alive来设置长连接,http1.1是默认开启的。
1)tcp的短连接,每请求来都需要建立新的连接,响应完都会关闭连接
2)tcp的长连接,每次请求完后Tcp连接不关闭,而是等待一段时间比如20秒断开连接
3)如果客户端突然断开连接则 进入如下操作
3.1)如果一个给定的连接在两小时内没有任何动作,服务器就向客户发送一个探测报文段,根据客户端主机响应探测4个客户端状态:
1客户主机依然正常运行,且服务器可达。此时客户的TCP响应正常,服务器将保活定时器复位。
2客户主机已经崩溃,并且关闭或者正在重新启动。上述情况下客户端都不能响应TCP。服务端将无法收到客户端对探测的响应。服务器总共发送10个这样的探测,每个间隔75秒。若服务器没有收到任何一个响应,它就认为客户端已经关闭并终止连接。
3客户端崩溃并已经重新启动。服务器将收到一个对其保活探测的响应,这个响应是一个复位,使得服务器终止这个连接。
4客户机正常运行,但是服务器不可达。这种情况与第二种状态类似。
二DNS解析
DNS解析是分布式存储的,比如根域名服务器ROOT DNS,只存储260个顶级域名的DNS服务器的ip地址。顶级域名服务器如.com的DNS服务器,存储的则是一些一级域名的权威DNS服务器地址(如suning.com,qq.com,163.com的DNS)。
查询过程如下
用户输入www.baidu.com,首先查询本地的host,如果有则返回 。没有则浏览器调用操作系统resolver发起域名查询,resolver封装一个dns请求报文,并将其发给当地运营商(如移动,电信)分配的local dns地址(或者用户自己配置的公共dns);
local dns查询缓存,如果命中则返回响应结果;否则向根服务器发起查询;
根服务器返回com顶级域名地址。每一层级的DNS服务器都有缓存,实际都是先查缓存,没有缓存才返回下级域,此处不再重复;
local dns查询com。com返回baidu.com权威地址;
local dns查询baidu.com,baidu.com返回www.baidu.com对应记录结果。
应用层协议详解 HTTP,DNS,STMP等相关推荐
- 最通俗易懂的网络应用层协议详解
前言 其实本文只是讲解从传输层到应用层实现网络消息传递的一个详细流程,至于更底层的网络层和网络接口层,那就不在我的考虑范围内了,事实上那部分机制是不需要你去操心的,除非你想开发操作系统! 然后本文打着 ...
- 【转】最通俗易懂的网络应用层协议详解
转自:https://blog.csdn.net/qq992817263/article/details/56669228 前言 其实本文只是讲解从传输层到应用层实现网络消息传递的一个详细流程,至于更 ...
- 计算机网络应用层(二):DNS协议详解
DNS协议详解 前言 DNS协议概述 DNS工作原理 DNS缓存 DNS记录和报文 资源记录 DNS报文 总结 前言 DNS是计算机网络中应用层的一个协议,可能很多同学碰到过DNS被劫持的情况,我们现 ...
- 应用层协议:HTTP与HTTPS协议详解、二者的区别
http协议详解 1.HTTP协议:超文本传输协议 是一种分布式.合作式.多媒体信息系统服务,面向应用层的协议.是一种通用的,不分状态的协议.是一种请求/应答协议. 1.1.HTTP/1.0和HTTP ...
- HTTP协议详解(真的很经典)
转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的 ...
- Http协议 详解(转载)
http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx 引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分 ...
- 【HTTP协议】超详细的HTTP协议详解
基本介绍 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/ ...
- HTTP 协议详解(超级经典)
协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器 什么是HT ...
- 接口测试之HTTP协议详解
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...
最新文章
- 不需要借助GPU的力量,用树莓派也能实时训练agent玩Atari
- Oracle 创建及调用存储过程,脚本示例
- Java中的简单浮点数类型float和double不能够进行精确运算
- ue4场景没阴影_UE4 Mobile使用动态阴影的一些小结
- ASP.NET Core 发布至Linux生产环境 Ubuntu 系统
- 手忙脚乱的快乐 谈谈Overcooked让人爱恨交织的多人合作机制
- 获取异常信息_如何在 ASP.NET Core 中实现全局异常拦截
- php字符串以符号截取,PHP按符号截取字符串的指定部分的实现方法
- html页面小宠物代码大全,宠物店网页设计html代码
- ModifyStyle()
- 成本会计的概念、产品成本核算的要求、产品成本核算的对象与成本项目、产品成本的归集和分配(可能考判断)、产品成本计算方法 (三种:产品的品种(品种法),批次(分批法),步骤(分步法))
- echarts树形结构实现组织架构图
- 网站被黑总被跳转到其他网站的处理解决过程
- CocoaPods禁止显示警告inhibit_all_warnings
- 计算机数学与高中数学衔接,浅谈如何做好高中数学与大学数学的衔接
- “区块链技术创新要植根市场”
- Android学习之 Fragment
- Apache rewrite URL静态化配置与参数详解
- Apple公司的官方声明
- 产品经理经典面试题整理:问题拆解与回答思路