前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >说一下HTTP服务的全过程及扩展问题整理

说一下HTTP服务的全过程及扩展问题整理

作者头像
用户1272076
发布于 2023-03-09 10:23:22
发布于 2023-03-09 10:23:22
2700
举报
文章被收录于专栏:张培跃张培跃

问题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 次)

  • 客户端告诉服务端:请求数据发送完毕,可以断开
  • 服务端告诉客户端:请求数据接受完毕,可以断开
  • 服务端告诉客户端:响应数据发送完毕,可以断开
  • 客户端告诉服务端:响应数据接受完毕,可以断开
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 张培跃 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
在软件开发、Java、后端的面试中,浏览器中输入URL到页面返回的全过程 是一道非常经典的面试题,更是经常被作为面试的压轴题出现。有时也会通过其他方式来问,譬如:
寻求出路的程序媛
2024/11/05
4600
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
《透视HTTP协议》:这一次彻彻底底的理解什么是HTTP?
蒂姆伯纳斯李提出了 万维网的三个重要组成:uri(统一资源标识符)html超文本标记语言描述超文本,http 超文本传输协议,用于传输超文本
小柔
2024/04/25
4620
DNS解析全过程
域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址。域名系统其实就是名字系统。为什么不叫“名字”而叫“域名”呢?这是因为在这种因特网的命名系统中使用了许多的“域(domain)”,因此就出现了“域名”这个名词。“域名系统”明确地指明这种系统是应用在因特网中。
用户8418197
2021/08/08
2.5K0
从输入URL到Web页面呈现的全过程
简单来说,当用户在浏览器的地址栏中输入 URL 并点击回车后,浏览器从服务端获取资源,然后将内容显示在页面上。这个过程经过了:浏览器缓存 -> DNS 域名解析 -> URL 编码 -> 使用 HTTP 或者使用 HTTPS 协议发送请求 ->
真正的飞鱼
2023/03/04
9350
从输入URL到Web页面呈现的全过程
客户端浏览器一次http完整请求过程流程图(图文结合诠释请求过程)
相信看完这张图后大家对一次请求也有了大致的了解了,当前其中还有很多细节小编没有画出来,然后我们来看看部分过程的细节
公众号---人生代码
2020/01/14
5.6K0
客户端浏览器一次http完整请求过程流程图(图文结合诠释请求过程)
多张图带你彻底搞懂DNS域名解析过程
1、DNS DNS(Domain Name System)是域名系统的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,用于 TCP/IP 网络。 2、域名系统DNS 的作用 通常我们有两种方式识别主机:通过主机名或者 IP 地址。人们喜欢便于记忆的主机名表示,而路由器则喜欢定长的、有着层次结构的 IP 地址。为了满足这些不同的偏好,我们就需要一种能够进行主机名到IP 地址转换的目录服务,域名系统作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。 因此,即使不使用域名
入门笔记
2022/06/02
3.7K0
多张图带你彻底搞懂DNS域名解析过程
用户输入网址到页面返回都发生了什么?(全面分析)
浏览器做的第一步就是会解析URL得到里面的参数,分析域名是否规范,并将域名和需要的请求的资源分离开来,从而了解需要请求的是哪个服务器,请求的是服务器上的什么资源等等
can4hou6joeng4
2023/11/29
2470
用户输入网址到页面返回都发生了什么?
浏览器做的第一步就是会解析URL得到里面的参数,分析域名是否规范,并将域名和需要的请求的资源分离开来,从而了解需要请求的是哪个服务器,请求的是服务器上的什么资源等等
不叫猫先生
2023/11/04
3030
用户输入网址到页面返回都发生了什么?
网络协议笔记(一):HTTP协议基础知识
1、HTTP协议是超文本传输协议,也就是 HyperText Transfer Protocol。 2、HTTP是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。(协议) 3、HTTP是一个在计算机世界里专门用来两点之间传输数据的约定和规范 (传输)
free赖权华
2020/06/04
1.1K0
【计网不挂科】计算机网络第六章<应用层 >习题库(含答案)
A、PUT B、DELETE C、TRACE D、CONNECT 答案: A
YY的秘密代码小屋
2024/11/15
2250
一次完整的 HTTP 请求过程,包括 DNS 解析、TCP 握手、HTTP 请求和响应等环节
HTTP(Hypertext Transfer Protocol),即超文本传输协议,是应用层协议之一,用于在 Web 应用中传输数据。在现代 Web 应用中,HTTP 已经成为了标准的数据传输协议,用户在浏览器中访问页面时,都会进行大量的 HTTP 请求和响应。
网络技术联盟站
2023/06/06
1.6K0
浏览器页面呈现过程
首先浏览器将输入的链接进行DNS解析,也就是将域名转换为IP地址的过程,得到了服务器具体的IP地址,才可以进行TCP链接以及数据的传输。 具体DNS解析的过程,浏览器首先检查自身的DNS缓存是否对于此域名有IP地址,chrome对于域名解析的缓存时间为60s,可以通过地址栏输入chrome://net-internals/#dns清除DNS缓存。若浏览器解析缓存未命中,则到操作系统中hosts文件检查域名与IP对应关系。若hosts文件未命中,则向本地域名服务器请求解析,本地域名服务器一般是运营商ISP提供的,一般是通过53端口发送UDP报文请求服务器解析DNS。若本地服务器解析未命中则会有两种解析方案:迭代解析与递归解析,一般来说,主机向本地域名服务器的查询一般都是采用递归查询,本地域名服务器向根域名服务器的查询通常是采用迭代查询,依次向根域名服务器、顶级域名服务器、主域名服务器等一级一级查询查询直到查询到IP地址。
WindRunnerMax
2020/08/27
7070
从浏览器输入网址回车到看到页面过程到底经历了什么?
#前言:从浏览器输入网址到回车看到页面的过程,面试逃不掉的一个问题,我们知道从浏览器输入网址到看到页面主要是涉及DNS解析,TCP三次握手,请求报文,响应报文,TCP4次挥手。
老油条IT记
2020/08/13
5410
从浏览器输入网址回车到看到页面过程到底经历了什么?
浏览器的一个请求从发送到返回都经历了什么?
参考 :http://www.cnblogs.com/echo-hui/p/9298203.html
海仔
2019/08/06
1.8K0
浏览器的一个请求从发送到返回都经历了什么?
从URL输入到页面展现到底发生什么?
打开浏览器从输入网址到网页呈现在大家面前,背后到底发生了什么?经历怎么样的一个过程?先给大家来张总体流程图,具体步骤请看下文分解!
Nealyang
2019/09/29
1.1K0
从URL输入到页面展现到底发生什么?
阿里面试官:淘宝页面请求的过程说一下
浏览器接收url开启网络请求线程,URL包括以下部分 protocol:协议头https host:主机域名www.taobao.com port:端口号(默认) path:无 query:无 fragment:无 https协议 https协议是基于http协议开发的,是比http更安全的协议,在http协议的基础上增加了SSL/TLS加密
MickyInvQ
2023/04/06
7980
一个完整的 Web 请求到底发生了什么
当我们在浏览器输入一个网址,然后按下回车,接下来浏览器显示了页面。网速好的话这之间可能就一秒,但在这一秒内到底发生了什么?
良月柒
2019/04/10
1.2K0
一个完整的 Web 请求到底发生了什么
【计网】网络协议栈学习总结 --- 浏览器上输入网址域名后点击回车,到底发生了什么?
经过对计算机网络的学习,我们了解了网络通信的过程,熟悉了网络协议栈各个层的工作机制与作用。那么现在我们回过头来看一个问题:
叫我龙翔
2024/10/31
1480
【计网】网络协议栈学习总结 --- 浏览器上输入网址域名后点击回车,到底发生了什么?
利用DNS隧道构建隐蔽C&C信道
无论是高级持续性威胁(APT)、僵尸网络(Botnet),还是勒索软件、后门等,命令与控制信道(C&C)都是其重要组成部分,尤其是APT和僵尸网络中的C&C信道决定了其威胁程度。学术界和工业界就C&C方面的研究已逐渐深入,目前网络战格局逐渐形成,公众对网络安全逐渐重视,网络空间中的攻防双方持续较量。
FB客服
2019/07/29
3K0
Socket 编程原理
socket编程即计算机网络编程,目的是使两台主机能够进行远程连接,既然要使两者产生联系,那么就要有至少一个信息发送端和一个信息接收端,因此形成了现在绝大多数 socket 编程都会用到的 C/S 架构(Client[客户端]/Server[服务端]),最典型的应用就是 web服务器/客户端。 在 Unix/Linux 中执行任何形式的 I/O 操作(比如网络连接)时,都是在读取或写入一个文件描述符,而在 Windows 中则被称为文件句柄,其本质都是一个东西,但是 Windows系统会把 socket 当成一个网络连接,需要调用专门设计的数据传输函数。 socket (套接字)是一种抽象层,程序通过它来收发数据,就像打开一个句柄将数据写在存储器上一样,使用 socket 能将程序放在网络中,并与同一网络下其他计算机进行通信。 现在问题又来了,主机内部应用间进行通信,不同应用可用进程号作为唯一标识,那么在网络间通信用什么作为唯一标识呢?其实 TCP/IP 协议簇已经解决了问题,在网络层 IP 地址可以用作网络中主机的唯一标识,传输层的”协议+端口”可用作主机应用的唯一标识,因此利用三元组(IP地址、协议、端口)就可以标识网络应用了,网络应用间可以用三元组作为标志和其他应用进行交互,socket 通信大致如下:
全栈程序员站长
2022/11/02
5590
Socket 编程原理
推荐阅读
相关推荐
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档