首页 > 编程语言 >浏览器中输入:“www.learnjava.com”之后都发生了什么?请详细阐述

浏览器中输入:“www.learnjava.com”之后都发生了什么?请详细阐述

时间:2023-08-16 11:48:12浏览次数:31  
标签:www 浏览器 请求 learnjava DNS 服务器 HTTP com

当在浏览器中输入 "www.woaijava.com" 并按下回车后,会依次发生以下步骤:

  1. 域名解析: 浏览器首先会将输入的域名 "www.woaijava.com" 解析为对应的 IP 地址。它会查询本地 DNS 缓存,如果找不到,则会向域名服务器发起请求。

  2. DNS 查询: 如果本地 DNS 缓存中没有对应的 IP 地址,浏览器会向本地 ISP 或公共 DNS 服务器发起 DNS 查询请求,以获取 "woaijava.com" 域名的 IP 地址。

  3. DNS 域名解析: DNS 服务器将域名 "woaijava.com" 解析为对应的 IP 地址,比如 "123.45.67.89"。

  4. 建立 TCP 连接: 浏览器使用域名解析得到的 IP 地址,通过 TCP 协议连接到服务器的 80 端口(HTTP 默认端口)。

  5. 发起 HTTP 请求: 浏览器通过已建立的 TCP 连接,发送一个 HTTP 请求到服务器,请求获取 "www.woaijava.com" 的网页内容。

  6. 服务器处理请求: 服务器接收到 HTTP 请求后,会根据请求的路径和其他信息,找到对应的资源文件(例如 HTML 文件),然后生成 HTTP 响应。

  7. 服务器发送响应: 服务器使用建立的 TCP 连接,将生成的 HTTP 响应发送回浏览器。

  8. 浏览器接收响应: 浏览器接收到服务器的响应,响应包括 HTML、CSS、JavaScript 等内容。

  9. 渲染页面: 浏览器解析 HTML、CSS,执行 JavaScript,渲染页面内容,将网页显示给用户。

总之,浏览器输入域名后,涉及域名解析、建立 TCP 连接、发起 HTTP 请求、服务器处理请求、服务器发送响应、浏览器接收响应、页面渲染等一系列步骤,最终呈现出用户所请求的网页内容。

标签:www,浏览器,请求,learnjava,DNS,服务器,HTTP,com
From: https://www.cnblogs.com/zhangluabc/p/17633608.html

相关文章

  • 自定义MarkupExtension的学习,以及WPF中Combobox绑定枚举类型
    我们上一期讲到ComBobox绑定数据,https://www.cnblogs.com/guchen33/p/17630808.html这次我们简单化一下,正常来讲WPF中绑定不了枚举的像这样//前台代码<ComboBoxItemsSource="{BindingMyEnum}"/>//后台VMpublicenumMyEnum{One,Two,Three,Fo......
  • Two-round n-out-of-n and Multi-Signatures and Trapdoor Commitment from Lattices
    Abstract.Althoughtheyhavebeenstudiedforalongtime,distributedsignatureprotocolshavegarneredrenewedinterestinrecentyearsinviewofnovelapplicationstotopicslikeblockchains.MostrecentworkshavefocusedondistributedversionsofE......
  • Centos安装Docker和Docker Compose
    本文介绍如何使用Centos服务器部署Docker和DockerCompose.背景信息本文中的命令使用的是root用户登录执行,若不是root用户要注意权限问题.笔者这里使用的是阿里云服务器,Linux版本为Centos7.9,使用SSH远程连接到服务器.安装Dockerdocker对Linux内核版本的最低要求是3.10......
  • [Vue warn]: Runtime directive used on component with non-element root node. The
    原因意思是自定义指令不能放到组件上,而是要放到自有的元素上,也就是这里用到的v-dialogDrag不能放在自定义组件上上图的v-dialogDrag指令用在了自定义组件el-dialog身上,就警告了解决外面套一层不是自定义组件的东东就可以,比如套了一层div......
  • SwiftUI+Combine 依赖注入->Clean架构
     Clean架构是一种软件设计理念,它将应用程序的关注点分成不同的层,每个层都有特定的责任。它被称为"Clean",因为它提倡代码易于阅读、测试和维护,并且不受特定框架或技术的约束。在使用SwiftUI和Combine框架用Swift编写的iOS应用程序的背景下,Clean的架构可能看起来像这样的东西:表......
  • Welcome!!!
    欢迎来到Penguin_Chen的博客园个人简介男初三坐标:湖南长沙就读于长沙市一中金山桥喜欢看特摄和追番南极原住民的由来......
  • Unveiling the Power of Diagnostic Tools: Cat Caterpillar ET, Volvo Vocom II Inte
    Intherealmofautomotivediagnostics,therighttoolscanmakeallthedifference.Whetheryou'reaprofessionalmechanicoranavidcarenthusiast,havingaccesstoreliablediagnostictoolsiscrucial.Inthisblogpost,wewillexplorethecapab......
  • 新增@ComponentScan,访问接口404?
    1.起因:自定义一个接口日志注解。打算为所有的接口打印日志和耗时等信息。将定义的@IfLog注解加到HiController的/hi接口因为Application仅扫描和他同一个包下所有类,所以在启动类上增加了@ComponentScan({"com.wxy.log.common"})用于扫描新增的日志切面。访问接......
  • @JsonComponent注解自定义JSON序列化与反序列化
    1.概述本篇教程将聚焦于如何使用SpringBoot中的@JsonComponent通过使用这个注解,我们不需要手动引用ObjectMapper对象就可以将一个类暴露为Jackson的serializer与deserializer。由于这是SpringBoot提供的功能,所以我们不需要添加额外的依赖,我们可以直接在SpringBoot程序中使用它......
  • 8-15| _ctypes.COMError: (-2147352567, '发生意外。', ('无法获取 Document 对象', '
    此错误是一个COM错误,它与试图从Python通过`pyautocad`与AutoCAD通信时出现的问题有关。错误信息"无法获取Document对象"指示了问题的本质,即Python无法访问AutoCAD的当前文档。这里有一些建议来解决这个问题:1.**确保AutoCAD已经运行**:在尝试从Python访问Aut......