说一下HTTP服务的全过程及扩展问题整理
创始人
2024-03-28 02:21:43
0次

问题1:当我们在浏览器中输入网址,按下回车,具体发生了什么?

  • 对网址进行DNS解析,得到对应的IP地址。

  • 根据这个IP地址,找到对应的服务器,并发起TCP的三次握手。

  • 建立TCP连接后会发起HTTP请求。

  • 服务器响应HTTP请求。

  • 浏览器解析得到html代码。

  • 请求html代码中的资源(如js、css、图片等)。

  • 浏览器对页面进行渲染呈现给用户。

  • 服务器关闭关闭TCP连接。


问题2:DNS是什么?

  • DNS一般指域名系统。域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。


问题3:DNS是如何找到域名的?

  • 浏览器会检查自身的DNS缓存中有没有对应的ip地址(缓存时间比较短,大概只有1分钟,且只能容纳1000条缓存)

  • 如果还没有找到,则去 hosts文件里面去找

  • 如果host文件没有配置,那么就会去本地区DNS域名服务器进行查找。比如:小区的网络提供商。

  • 本地区DNS域名服务器也不能解析,会去根域名服务器请求解析(.com.cn.org等根域名服务器)。

  • 根域名服务器查询并返回域名对应的服务器的地址。根域名服务器通常是你注册的域名服务器。

  • Name Server域名服务器会查询存储的域名和ip的映射关系表。

  • 把解析的结果缓存在本地系统缓存中,域名解析过程结束。


问题4:为什么HTTP协议要基于TCP来实现?

  • TCP(传输层)是一个端到端的可靠的面相连接的协议,HTTP基于传输层TCP协议不用担心数据传输的各种问题(当发生错误时,会重传)


问题5:说一下三次握手?

  • 拿到域名对应的IP地址后,浏览器会根据IP找到服务器,根据端口号找到所在服务中的web服务,发送一个TCP报文。(我准备好了,你准备好了吗)

  • 这个请求到达服务端后,服务端会给予前端确认收到的响应信息(报文)。(我也准备好了,你确认下)

  • 浏览器接收到来自服务器确认收到报文后,明确了从客户端到服务器的数据传输是正常的,并返回一段TCP报文。(确认成功)


问题6:聊一聊四次挥手?

(断开请求链接 2 次, 断开响应链接 2 次)

  • 客户端告诉服务端:请求数据发送完毕,可以断开

  • 服务端告诉客户端:请求数据接受完毕,可以断开

  • 服务端告诉客户端:响应数据发送完毕,可以断开

  • 客户端告诉服务端:响应数据接受完毕,可以断开

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...