DNS原理-HTTP原理-TCP原理
第一章:企业DNS原理
相信大家都知道windows和linux的hosts文件是:IP地址和域名的对应关系,我们一般访问网站的步骤:
打开网页-----输入网址-------查看本地的DNS库是否存在该网站的域名与对应IP地址
接下有两种情况:
•本地存在该网站域名对应的IP(hosts文件),然后我们直接根据本地缓存的DNS进行解析,并访问该域名对应的IP地址,在进行TCP的三次握手,进行与网站的连接,当然我们访问网站完毕之后,又进行了四次挥手断开
•本地hosts文件不存在该网站域名与IP的对应关系,那么本地的域名服务器将请求返回给DNS系统的根进行解析,并且针对DNS系统的各个阶层一级一级的进行查找,直到找到那个域名,反之没有该域名响应的解析授权的DNS服务器,也就是说明该网站没有搭建成功
DNS服务器进行逐级查找结构图:

以上两种方法均是让用户获取网站的域名相对于IP的地址
接下来分为两种情况
该域名的授权DNS服务器会把该域名对应的IP地址发送到请求方(客户端)的本地DNS服务器;
如果用户本地的DNS服务器存在对应的IP地址,直接访问
最后:
客户端的浏览器获得了该域名对应的IP地址,该网站的服务器收到客户端的请求进行相应处理,将客户端请求的内容返回给客户端的浏览器,至此,用户访问网站的过程就完成了
总结:
进行本地DNS查找以及授权DNS服务器的查找,获取IP地址。并且加载到本地的DNS(hosts文件)缓存,进行建立TCP连接过程(三次握手),发送http报文以及请求报文的细节,web服务器的相应并且处理客户端的相应,关闭连接(四次挥手)
第二章:http协议通信原理
1http状态码
http状态码是用来表示web服务器响应http请求的数字代码,下面是几种常见的:
200:成功
301:永久重定向
302:临时重定向
403:禁止访问
404:页面找不到
500:服务器内部错误。比如nginx的url重写循环十次后,会停止重写并返回500状态码
502:坏的网关
504:网关超时
第三章:tcp的三次握手和四次断开
1、三次握手

CLOSED关闭状态
在连接超时或者连接关闭的时候进入此状态,但是这并不是一个真正的状态,
而是这个状态图假想的起点和终点(便于我们理解和思考)
LISTEN监听状态
服务器server端等待连接的状态。服务器经过 socket,bind,listen 函数之后进入此状态,
开始监听客户端发过来的连接请求。此称为应用程序被动打开(等待客户端的连接请求)
SYN_SENT状态
第一次握手状态
客户端发起连接,客户端调用connect,发送SYN给服务器端,
然后客户端进入SYN_SENT状态,等待服务端确认,
如果服务器端不能连接,则客户端进入CLOSE状态
SYN_RCVD状态
第二次握手发生状态:
这里是服务器端接收到了客户端的SYN请求,此时服务端有LISTEN进入SYN_RCVD状态,
同时服务器端回应一个ACK,然后在发送一个SYN,即SYN_ACK给客户端。 状态图中还描绘了这样一种情况,当客户端在发送 SYN 的同时也收到服务器端的 SYN请求,
即两个同时发起连接请求,那么客户端就会从 SYN_SENT 转换到 SYN_REVD 状态。
ESTABLISHED状态
第三次握手发生阶段:
客户端接收到服务器端的 ACK 包(ACK,SYN)之后,也会发送一个 ACK 确认包,
客户端进入 ESTABLISHED 状态,表明客户端这边已经准备好,
但TCP 需要两端都准备好才可以进行数据传输。
服务器端收到客户端的 ACK 之后会从 SYN_RCVD 状态转移到 ESTABLISHED 状态,
表明服务器端也准备好进行数据传输了。
总结
客户端和服务器端都变为 ESTABLISHED 状态,就可以进行数据的传输了;
当然 ESTABLISHED 也可以说是一个数据传送状态。
2、四次挥手

描述:略
3、TCP的十一种状态转移总结

DNS原理-HTTP原理-TCP原理的更多相关文章
- 从tcp原理角度理解Broken pipe和Connection reset by peer的区别
从tcp原理角度理解Broken pipe和Connection reset by peer的区别 http://lovestblog.cn/blog/2014/05/20/tcp-broken-pi ...
- TCP 原理
一.分组交换网络 古老的电话通信,一根电缆,两个用户设备通信 计算机中的两个设备节点通信:分组网络 计算机网络采取分组交换技术,意思就是我有[一块数据]要发给对方,那我会把这[一块数据]分成N份[ ...
- 支持向量机原理(四)SMO算法原理
支持向量机原理(一) 线性支持向量机 支持向量机原理(二) 线性支持向量机的软间隔最大化模型 支持向量机原理(三)线性不可分支持向量机与核函数 支持向量机原理(四)SMO算法原理 支持向量机原理(五) ...
- AbstractQueuedSynchronizer 原理分析 - Condition 实现原理
1. 简介 Condition是一个接口,AbstractQueuedSynchronizer 中的ConditionObject内部类实现了这个接口.Condition声明了一组等待/通知的方法,这 ...
- POJ2356 Find a multiple 抽屉原理(鸽巢原理)
题意:给你N个数,从中取出任意个数的数 使得他们的和 是 N的倍数: 在鸽巢原理的介绍里面,有例题介绍:设a1,a2,a3,……am是正整数的序列,试证明至少存在正数k和l,1<=k<=l ...
- DNS使用的是TCP协议还是UDP协议(转)
原文链接:DNS使用的是TCP协议还是UDP协议 DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类.但很少有人知道DNS分别在什么情 ...
- DNS使用的是TCP协议还是UDP协议简析
DNS使用的是TCP协议还是UDP协议简析 DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类.但很少有人知道DNS分别在什么情况 ...
- (转)DNS使用的是TCP协议还是UDP协议
转自:DNS使用的是TCP协议还是UDP协议 DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类.但很少有人知道DNS分别在什么情况下 ...
- DNS域名系统,简述工作原理
DNS工作原理: 当DNS客户端需要在程序中使用名称时,它会查询DNS服务器来解析该名称.客户端发送的每条查询信息包括三条信息:指定的DNS域名,指定的查询类型,DNS域名的指定类别.基于UDP服务, ...
随机推荐
- 2018-08-13 Head First OO分析设计一书略读与例子中文化
注: 此笔记仅为个人学习此教程的布局和材料组织之用. 如有兴趣请自行详阅. 第一章是以吉他商店的存货系统作例子. 第二章设计有狗洞的门. 第三章对第二章基础上, 更改需求后对应设计. 第四章继续改进此 ...
- Salesforce 大量数据部署的最佳实践
本文参考自官方文档.原文链接 大量数据部署对Salesforce的影响 当用户需要在Salesforce中部署大量数据的时候,部署的过程往往会变慢.这时就需要架构师或开发者设计出更好的过程来提高大量数 ...
- 7.Odoo产品分析 (二) – 商业板块(3) –CRM(1)
查看Odoo产品分析系列--目录 CMR:Customer Relationship Management.企业为提高核心竞争力,利用相应的信息技术以及互联网技术协调企业与顾客间在销售.营销和服务上的 ...
- github上传流程图记录
参考文章 http://blog.csdn.net/laozitianxia/article/details/50682100 首先你得先创建仓库 为仓库取一个名字,然后点击创建就会有一个仓库了, g ...
- 品牌电脑硬盘损坏后,使用MediaCreationTool从微软官方下载正版Windows到USB做安装盘
最近我的一台台式机电脑的硬盘损坏了.一开始是速度逐渐变慢,后来慢得难以忍受,有时半天无响应.查看 Windows event ,发现有 id 为 7 的磁盘报错.使用 Windows 8.1 家庭版自 ...
- 关于ARM CM3的启动文件分析
下面以ARM Cortex_M3裸核的启动代码为例,做一下简单的分析.首先,在启动文件中完成了三项工作: 1. 堆栈以及堆的初始化 2. 定位中断向量表 3. 调用Reset Handler. ...
- hadoop,spark,Zookeeper,,, 这些名字都是怎么来的呢?
Apache 首先我们要明白,Apache 是一个 http 服务器,而我们熟悉的另一种说法"Apache Hadoop"中的 Apache 则指的是 Apache 软件基金会.& ...
- 【redis专题(9)】事务
Redis支持简单的事务,所谓简单是因为其不支持回滚(回滚是用队列模仿的),与mysql有以下区别 rollback与discard的区别: 如果已经成功执行了2条语句, 第3条语句出错 Rollba ...
- mysql练习----Self join
stops(id, name) route(num,company,pos, stop) stops route id num name company pos stop
- NPOI导入导出Excel工具类
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Ref ...