从浏览器输入地址到响应的整个过程


从浏览器输入地址到响应的过程可以大致分成以下几个部分

1,DNS解析(分别从浏览器缓存,本地host文件,本地DNS服务器,根DNS服务器)
2,建立TCP(得知服务器的ip和端口后,用socket建立连接,通过三次握手连接)
3,用户发送请求和服务器响应请求
4,断开连接(四次挥手)

首先要理解我们平时输入的url各个字段的意思
比如https://tieba.baidu.com/index.ht

服务协议:https 用://分离
主机IP地址和端口号:tieba.baidu.com用/分离
资源的相对路径:index.ht

但是计算机是不认识tieba.baidu.com,无法通过这个直接找到服务器,而是先把tieba.baidu.com这个域名翻译成计算机能识别的ip(14.215.177.221)才能找打相应的服务器,而DNS的工作就是去找域名对应的ip(14.215.177.221)。

DNS解析

当输入网址的时候就浏览器就已经在做DNS解析了,浏览器会从缓存里查找有没有这个域名对应的ip地址,有就直接可以得到ip,没有的话就去本地的host文件里面查找,如果还是没有就去本地DNS服务器找
如果本地DNS服务也没有的话,一般有两种方式去查找ip,一种是递归解析,一种是迭代解析

递归解析

本地DNS服务器找不到的话就会去找根DNS服务器,根DNS服务器找不到就会去找下级的局部DNS服务器,找到后就会返回结果到本地DNS服务器,然后在发送个客户端

迭代解析

与递归解析不同的是,与本地DNS服务器不会主动去查询域名,而是本地服务器把能解析该域名的局部DNS服务器都发送给客户端,让客户端自己查。

建立连接

得到服务器的IP地址和端口号后,用socket进行连接,底层实现是采用三次握手,如图

在这里插入图片描述(图片来源于网络)

用户发送请求和服务器响应请求

建立好连接后,用户就可以发送请求了,请求的格式如下
在这里插入图片描述
(图片来源于网络)
服务器处理请求后,返回响应给客户端,响应的内容如下
在这里插入图片描述

断开连接

断开连接使用四次挥手来断开连接,如图
在这里插入图片描述(图片来源于网络)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值