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

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

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

问题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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题1:当我们在浏览器中输入网址,按下回车,具体发生了什么?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档