·在访问网址时,后台的具体流程可以因不同的网站、服务器和应用架构而异。
·实际过程中可能还涉及更多的细节和步骤,如缓存处理、重定向、负载均衡等。
·此外,不同的网站和应用架构可能会有不同的实现方式和优化策略。
·部分特定网站或应用,后台流程还可能包括用户认证、权限控制、日志记录、性能监控等安全
和管理方面的功能。这些功能通常会在服务器处理请求的过程中被调用和执行
主要步骤如下:
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——通常用于私有或临时服务,不会被广泛认知或分配给特定的应用程序。它们是由操作系统动态分配的,用于满足临时通信需求
欢迎补充,互相学习