浏览器输入不同的地址类型会导致不同的以为和结果。
大多数情况下
当在浏览器的地址栏输入一个地址时,通常情况下浏览器会发起一个HTTP请求来获取该地址对应的网页内容。
当在浏览器的地址栏输入一个地址时,浏览器会进行DNS域名解析,得到IP地址,根据ip地址发起TCP的3次握手,建立TCP连接,建立连接之后发起http请求,服务器响应http请求,浏览器得到html代码,浏览器解析html代码,并请求html代码中的资源,浏览器对页面进行渲染呈现给用户。
浏览器输入一个地址不是必须要发起http请求
情况如下:
- 本地文件路径:如果输入的是本地文件路径,浏览器会直接打开该文件。不会发起HTTP请求。
- FTP(文件传输协议):如果输入的是FTP地址,浏览器会尝试使用FTP协议来访问和下载文件。
- HTTP地址:浏览器会按照HTTP协议与服务器进行通信。进行DNS查询,将域名解析为IP地址。建立TCP连接,并发送HTTP请求到服务器。服务器响应请求,返回网页内容。浏览器解析并显示网页。
- HTTPS地址:除了HTTP地址的所有步骤外,还会进行TLS握手来建立加密的通信通道。浏览器验证服务器的SSL/TLS证书,确保数据传输的安全性。
- 如果直接输入IP地址,浏览器会跳过DNS查询步骤,直接尝试与该IP地址建立连接。其余步骤与HTTP或HTTPS地址类似,根据使用的协议发送请求并接收响应。
- 特殊协议地址(如mailto:、tel:、geo:等):这些地址类型通常用于触发特定的浏览器操作或调用外部应用程序。例如,mailto:地址会打开邮件客户端并准备好一个邮件,而tel:地址会尝试拨打电话。
- 无效或无法识别的地址:如果输入的地址无效或浏览器无法识别其协议,浏览器通常会显示一个错误消息,告知用户无法访问该地址。