文章收录在网站:http://hardyfish.top/
文章收录在网站:http://hardyfish.top/
文章收录在网站:http://hardyfish.top/
文章收录在网站:http://hardyfish.top/
在浏览器中输入 URL 地址到显示主页的过程?
URL解析:
- 浏览器首先会解析你输入的URL,确定你要访问的是哪个网站
- 这个网站的地址(IP地址)是什么,以及你请求访问该网站的具体页面路径。
DNS查询:
- 如果浏览器缓存或系统缓存中没有该域名的IP地址
- 那么浏览器将发送一个请求到DNS(域名系统)服务器,来查找对应的IP地址。
建立连接:
- 找到IP地址后,浏览器会向该地址发送一个TCP连接请求,这个过程通常被称为TCP的三次握手。
发送HTTP请求:
- 一旦TCP连接被建立,浏览器就可以通过这个连接向服务器发送HTTP请求了。
- 这个请求里会包含你要获取的资源类型,所使用的HTTP版本,以及可能的一些其他信息。
服务器处理请求并返回HTTP响应:
- 服务器接收到HTTP请求后,进行处理,然后返回一个HTTP响应
- 响应中包含了要访问的网页的内容,以及一些描述信息,如状态码、内容类型等。
浏览器解析HTML:
- 浏览器接收到服务器的响应数据后,开始解析HTML,构建DOM树。
资源加载:
- 在解析HTML的过程中,如果遇到
CSS、JavaScript
文件或者图片等资源,浏览器会再次发送HTTP请求去获取。浏览器渲染页面:
- 在获取到所有的资源文件后,浏览器开始渲染页面,将资源文件转化为网页上的可视、可交互的内容。
关闭连接:
- 如果HTTP头部中的
Connection
字段的属性被设置为close
,那么浏览器和服务器的TCP连接在传输完成后将会被关闭。
- 如果设置为
keep-alive
,那么TCP连接会被保持一段时间,以便传输更多的请求。以上就是在浏览器中输入URL地址到显示主页的过程
- 这个过程可能会涉及到网络协议(如
DNS、HTTP、TCP/IP
等)的一系列操作
什么是 Session?
Session(会话)是指在客户端和服务器之间建立的一种会话状态。
- 通过会话,服务器可以在不同请求之间识别和跟踪特定的客户端,并保持与客户端的交互状态。
在Web应用中,Session通常使用一种名为
Session ID
的机制来实现。当客户端首次访问服务器时,服务器会为此客户端生成一个唯一的Session ID
- 并将其存储在服务器端的存储介质(如内存、数据库、文件)中,同时将该
Session ID
发送给客户端保存在Cookie中。客户端在后续的请求中,会将存储在Cookie中的Session ID自动带上,供服务器在接收到请求时进行识别。
- 然后,服务器根据
Session ID
找到相应的会话数据,使得服务器能够识别特定的客户端并维持会话状态。会话通常用于以下目的:
跟踪用户:
- 通过Session ID,服务器可以记录和存储与特定用户相关的信息,如登录状态、权限、购物车内容等。
- 这样,在用户在同一网站上的不同页面之间,服务器能够保持用户的状态和数据的一致性。
用户验证和安全:
- Session可以用于验证用户身份,确保只有经过身份验证的用户才能访问特定资源。
- 服务器可以在会话中存储一些敏感信息,如用户ID、角色等,以验证用户的权限和身份。
数据共享:
- Session使得服务器能够在不同请求之间共享和传递数据。
- 服务器可以将一些重要的数据存储在会话中,以便在后续请求中使用,而不需要每次都重新获取或计算。
需要注意的是,会话数据通常存储在服务器端,可以在一段时间后过期或被销毁。
- 同时,会话的安全性也是重要的,敏感数据应该进行加密和保护,防止被恶意窃取。
总的来说,
Session
是一种在客户端和服务器之间建立的会话状态
- 通过
Session ID
进行识别和跟踪客户端,实现用户的会话管理、身份验证和数据共享。
什么是 Cookie?
Cookie是一种在客户端(浏览器)和服务器之间交换的小型数据文件。
它由服务器生成并发送给客户端,然后客户端保存在本地的浏览器中。
- 每次浏览器向同一服务器发送请求时,会将相应的Cookie信息附加在请求头中一起发送给服务器。
Cookie主要用于记录和追踪与用户相关的信息,以实现以下功能:
会话管理:
- 通过使用会话Cookie,服务器可以在用户的多个请求之间维持会话状态。
- 它使服务器能够识别特定用户,并保持用户登录状态,而不需要用户在每个请求中重新验证身份。
用户个性化:
- Cookie可以用于存储用户的个人喜好、偏好或设置等信息。
- 例如,在某个电子商务网站上,可以使用Cookie来记录用户的购物车内容和偏好选项
- 以便在用户下次访问时进行个性化推荐或还原购物车。
随机广告:
- Cookie可以用于进行广告跟踪和定向投放。
- 广告商可以在用户访问某个网站时,通过Cookie记录用户的兴趣、浏览行为等信息
- 然后根据这些信息显示与用户兴趣相关的广告。
记住用户:
通过在Cookie中存储持久性数据,网站可以实现 记住我 的功能,使用户在下次访问时不需要重新输入用户名和密码。
需要注意的是,Cookie是存储在用户本地的浏览器中,它可能包含敏感信息,因此在使用Cookie时需要注意安全性。
- 同时,用户也可以通过浏览器的设置来管理和删除存储的Cookie。
总的来说,
Cookie
是一种用于在客户端和服务器之间传递数据的机制
- 主要用于会话管理、用户个性化、广告跟踪等功能,以提供更好的用户体验和个性化服务。
Cookie和Session有什么区别?
Cookie和Session主要有以下几点区别:
存储位置:
- Cookie数据存储在客户端(浏览器),而Session数据存储在服务器端。
- 因此,从保护用户数据的角度来看,Session比Cookie更安全。
生命周期:
- 通常情况下,Cookie有固定的过期时间,除非用户手动清理否则不会消失,即使关闭浏览器或重启计算机也依然存在。
- 而Session的生命周期通常是在用户关闭浏览器或者超出了设定的时间段后,服务器就会自动将其销毁。
大小限制:
- 由于Cookie数据存储在客户端,所以它有大小限制,一般为4KB左右。
- 而Session是存储在服务器端,理论上其数据大小没有限制,但是如果存储过多的数据会增加服务器的负担。
数据类型限制:
- Cookie只能保存字符串类型的数据,对于复杂的数据结构需要进行序列化。
- 而Session可以存储任何类型的数据,比如对象和数组等。
跨域问题:
- 基于安全性,Cookie不可以进行跨域名存储,每个域名下的Cookie数据是分开存储的。
- 而Session技术没有这项限制。
总体来说,选择使用Cookie还是Session主要取决于具体的需求和应用场景。
IP 地址和 Mac 地址区别?
IP地址是逻辑地址,而MAC地址是物理地址。
IP地址是在网络层使用的地址:
- 用于标识网络上的主机或路由器
- IP地址是可变的,可以在网络上动态分配或更改
- IP地址是全球唯一的,由互联网号码分配机构(IANA)管理分配
MAC地址则是在数据链路层使用的地址:
- 用于标识网络上的网卡或其他物理设备。
- MAC地址是固定的,通常是出厂时设定的。
- MAC地址是由设备厂商分配,通常在设备生产时就已经固定。
IP地址和MAC地址都是用来标识设备的地址,但其用途和管理方式不同。
- 在实际应用中,IP地址通常用于网络间通信,而MAC地址用于局域网内部通信
说一说TCP与UDP的区别
TCP协议的主要特点
TCP是面向连接的传输层协议,所谓面向连接就是双方传输数据之前,必须先建立一条通道
- 例如三次握手就是建议通道的一个过程,而四次挥手则是结束销毁通道的一个其中过程
- 而 UDP 则是无连接的传输协议。
- TCP 可以提供可靠的传输,比如数据丢失,超时,TCP 都会重传,并且数据包也能够按序到达
- 而 UDP 是不可靠的,数据丢失了也不会重传等等。
从效率的角度讲,UDP 的效率更快,因为 UDP 不需要做诸如三次握手/四次挥手/重传等额外的消耗。
从应用场景角度讲,对信息的正确率要求比较高的可以采用 TCP 协议
- 比如我们平时常见的文字聊天
- 而允许出现小部分数据丢失的,则可以采用 UDP,比如视频聊天等。
像HTTP、HTTPS、FTP、TELNET、SMTP(简单邮件传输协议)协议基于可靠的TCP协议。
TFTP、DNS、DHCP、TFTP、SNMP(简单网络管理协议)、RIP基于不可靠的UDP协议。