【计算机网络】浏览器输入访问某网址时,后台流程是什么

·在访问网址时,后台的具体流程可以因不同的网站、服务器和应用架构而异。

·实际过程中可能还涉及更多的细节和步骤,如缓存处理、重定向、负载均衡等。

·此外,不同的网站和应用架构可能会有不同的实现方式和优化策略

·部分特定网站或应用,后台流程还可能包括用户认证、权限控制、日志记录、性能监控等安全

和管理方面的功能。这些功能通常会在服务器处理请求的过程中被调用和执行

主要步骤如下:


1、DNS解析

·用户输入网址:输入URL

·DNS查询:

        浏览器先检查本地缓存是否有该网址IP记录,有返回IP

        没有,则会向DNS服务器发起查询请求、获取IP

·返回IP地址:DNS解析出网址IP地址后,返回给浏览器

2、建立连接

·TCP/IP连接建立:浏览器根据 IP地址,通过TCP/IP建立连接——TCP三次握手;端口80

·SSL/TLS加密:若网址HTTPS开头,在建立TCP连接后,再进行SSL/TLS握手,实现加密通信、保护数据传输安全;端口443

3、发送HTTP请求

·构建HTTP请求:浏览器根据用户输入的网址和请求的资源(网页、图片),构建HTTP 请求报文

·发送请求:发送至服务器

4、服务器处理请求

·接受请求:根据请求内容作处理

·处理逻辑:根据请求资源类型(HTML、CSS、JavaScript等),调用对应处理程序或者脚本进行处理

·查询数据库:若请求内容中需查询数据库,服务器会向数据库发送请求并获取结果

5、响应请求

·构建HTTP响应:服务器端将处理结果(网页、图片等)封装再响应报文中

·发送响应:发给浏览器

6、浏览器页面渲染

·接受响应:接受响应报文后,进行内容解析

·渲染页面:根据解析出的HTML、CSS等内容,渲染出最终网页页面,展示给用户

7、释放TCP连接

·TCP/IP连接释放:四次挥手,浏览器与服务器间断开TCP连接


拓展:

-HTTP为何使用TCP而不使用UDP?

答:打开网页需要传输很多数据,TCP协议提供传输控制,可以按顺序组织数据并对错序数据进行纠正

-HTTP客户端请求和连接端口范围

答:大于1024;

HTTP和HTTPS默认80和443端口,指web服务器用于监听客户端请求的标准端口;

客户端则未做硬性要求。但计算机网络中0~1023为公认端口,其中端口号已经被广泛使用

基于以下几点,故要求客户端端口大于1024:

·避免冲突:避免与已知服务冲突

·安全性:部分防火墙和安全策略会限制公认端口,大于1024会绕过这些限制,提高通信安全性

·灵活性:端口号选择较多

公认端口 0~1023

注册端口 1024~49151

动态端口 49152~95535——通常用于私有或临时服务,不会被广泛认知或分配给特定的应用程序。它们是由操作系统动态分配的,用于满足临时通信需求


欢迎补充,互相学习🤝

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/872571.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RK3588开发板利用udp发送和接收数据

目录 1 send.cpp 2 receive.cpp 3 编译运行 4 测试 1 send.cpp #include <iostream> #include <string> #include <cstring> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> //…

利用数据质量工具提高业务效率 | 数据治理应用篇

您的数据库是否井然有序&#xff1f; 在当今社会&#xff0c;企业管理者们愈发开始重视数据的重要性。数据不仅能推动战略决策&#xff0c;还能影响业务成果、推动创新&#xff0c;并为企业提供竞争优势。然而&#xff0c;随着数据量的增加&#xff0c;确保数据的准确性、一致…

【C++ 面试 - 新特性】每日 3 题(三)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…

使用pytorch深度学习框架搭建神经网络

简介 现在主流有两个框架pytorch和TensorFlow,本文主要介绍pytorch PyTorch&#xff1a;由 Facebook 的人工智能研究小组开发和维护。PyTorch 以其动态计算图&#xff08;Dynamic Computational Graph&#xff09;和易用性著称&#xff0c;非常适合研究人员和开发者进行实验和…

小皮面板webman ai项目本地启动教程

1.前置条件 下载小皮面板 下载后&#xff0c;双击安装&#xff0c;一路next&#xff08;下一步&#xff09;&#xff0c;无需更改配置。 2.安装必须软件 在小皮面板的软件管理页&#xff0c;安装编号①②③④下面四个软件。 3.启动本地服务 进入到小皮面板的首页&#x…

深入学习电路基础:从理论到实践

引言 电路是电子学的核心&#xff0c;也是现代科技的基石。从简单的灯泡开关到复杂的计算机处理器&#xff0c;电路在各类电子设备中都起到了至关重要的作用。深入学习电路知识不仅有助于理解电子设备的工作原理&#xff0c;还能够为实际设计和开发电子产品打下坚实的基础。 …

ARP协议(原理,特点,报文格式,具体过程),ARP缓存(有效时间,为什么),ARP欺骗(定向断网,成为中间人),RARP简单介绍

目录 ARP协议 引入 介绍 原理 arp请求/响应 特点 报文格式 硬件类型 协议类型 硬件/协议地址长度 op(操作码) 过程 发送请求并处理 返回响应并处理 总结 arp缓存 介绍 arp表项的有效时间 解释 arp欺骗 介绍 定向断网 基于arp的成为中间人的方式 多向…

有什么简单方便的cad编辑器?2024快速进行cad编辑的软件合集

有什么简单方便的cad编辑器&#xff1f;2024快速进行cad编辑的软件合集 在建筑、工程、设计等领域&#xff0c;CAD&#xff08;计算机辅助设计&#xff09;软件是必不可少的工具。然而&#xff0c;面对复杂的CAD文件&#xff0c;有时我们只需要简单的编辑功能&#xff0c;而不…

工厂模式-小记

工厂模式-小记 工厂模式简单工厂模式场景复现抽象产品接口具体产品工厂类测试方法 工厂方法模式工厂方法模式场景描述抽象工厂接口具体工厂抽象产品具体产品客户端测试 抽象工厂模式场景描述抽象工厂具体工厂抽象产品具体产品客户端测试 三者的对比 工厂模式 工厂模式提供了一…

2024 年高教社杯全国大学生数学建模竞赛题目【A/B/C/D/E题】完整思路

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ A题是数模类赛事很常见的物理类赛题&#xff0c;需要学习不少相关知识。此题涉及对一个动态系统的建模&#xff0c;模拟…

策略模式的小记

策略模式 策略模式支付系统【场景再现】硬编码完成不同的支付策略使用策略模式&#xff0c;对比不同&#xff08;1&#xff09;支付策略接口&#xff08;2&#xff09;具体的支付策略类&#xff08;3&#xff09;上下文&#xff08;4&#xff09;客户端&#xff08;5&#xff0…

vue3获取视频时长、码率、格式等视频详细信息

前言&#xff1a; 我们在上传视频需要视频的帧数等信息的时候&#xff0c;上传组件无法直接读取帧数等信息 方法&#xff1a;通过mediainfo.js来获取视频的帧率、总帧数和视频的总时长 mediainfo.js地址&#xff0c;想详细了解的可以去看看git地址&#xff1a;https://githu…

【生日视频制作】海上绿色摩托艇汽车艇车身AE模板修改文字软件生成器教程特效素材【AE模板】

生日视频制作教程海上绿色摩托艇汽车艇车身AE模板修改文字特效广软件告生成神器素材祝福玩法AE模板替换工程 怎么如何做的【生日视频制作】海上绿色摩托艇汽车艇车身AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤&#xff1a; 安装AE软件 下载AE模板 把AE模…

Java笔试面试题AI答之JDBC(2)

文章目录 7. 列出Java应该遵循的JDBC最佳实践&#xff1f;8. Statement与PreparedStatement的区别,什么是SQL注入&#xff0c;如何防止SQL注入Statement与PreparedStatement的区别什么是SQL注入如何防止SQL注入 9. JDBC如何连接数据库&#xff1f;1. 加载JDBC驱动程序2. 建立数…

基于FreeRTOS的STM32多功能手表

前言 项目背景 项目演示 使用到的硬件 项目原理图 目前版本实现的功能 设计到的freertos知识 实现思路 代码讲解 初始化GPIO引脚、配置时钟 蜂鸣器初始化以及软件定时器创建 系统默认创建的defaultTaskHandle 创建七个Task&#xff0c;代表七个功能 ShowTimeTask …

MySQL复习2

高级查询 准备 create database greatselect; use greatselect;drop table if exists class; create table class (cid int(11) not null auto_increment,caption varchar(32) not null,primary key (cid) )engine innoDB AUTO_INCREMENT5 default charset utf8;create tab…

磁盘加密工具 | VeraCrypt v1.26.15 绿色版

VeraCrypt 是一个开源项目&#xff0c;旨在提供强大的加密解决方案&#xff0c;以创建和管理加密的磁盘分区和加密容器。它继承了著名的加密软件 TrueCrypt 的特性&#xff0c;并在此基础上进行了扩展和改进。 主要特性 1. 高级加密算法 VeraCrypt 支持多种加密算法&#xf…

运维学习————Jenkins(1)

目录 一、项目开发周期 二、jenkins的简介和作用 三、jenkins下载 1、使用war包安装 2、初始化配置 3、工作流程图 4、Jenkins安装配置maven和git maven git 5、jenkins安装插件 6、配置maven,git,jdk jdk配置 Git配置 Maven配置 四、修改tomcat的一些配置 五…

[网络编程]TCP和UDP的比较 及 通过java用UDP实现网络编程

文章目录 一. 网络编程套接字TCP和UDP的特点有连接 vs 无连接可靠传输 vs 不可靠传输面向字节流 vs 面向数据报全双工 vs 半双工 二. java用UDP实现网络编程代码实现:运行代码:启动多个客户端别人能否使用?实现翻译功能 一. 网络编程套接字 网络编程套接字, 就是指操作系统提…