前言
打开浏览器输入网址浏览网站——这个每天必做的事,之前都从未一探究竟。
How does it work?
自己的第一篇博客就来聊聊
基本概念
(一)URL是什么
统一资源定位符(或称统一资源定位器/定位地址、URL地址等,英语:Uniform / Universal Resource Locator,常缩写为URL),有时也被俗称为网页地址(网址)。如同在网络上的门牌,是因特网上标准的资源的地址(Address)。
URL格式一般为:
协议类型://服务器地址(必要时需加上端口号)/路径/文件名
其中协议类型主要有:
协议名称 | 解释 |
---|---|
http | 超文本传输协议资源 |
https | 用安全套接字层传送的超文本传输协议 |
ftp | 文件传输协议 |
mailto | 电子邮件地址 |
file | 本地电脑或网上分享的文件 |
有时代码中会不写协议,说明当前URL协议和当前页面URL协议保持一致。
(二)IP和IP地址
互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(英语:IP Address),是分配给网络上使用网际协议(英语:Internet Protocol, IP)的设备的数字标签。其中又分了公网IP和局域网IP。
公网IP:由互联网分配的一个独占的IP地址,这个IP在全世界都是唯一的。
局域网IP:路由器分配的IP,内网的计算机可向路由器上的其他计算机发送连接请求。
从URL输入到页面展现流程
(一)域名解析
当用户在浏览器中输入URL后,通过浏览器缓存-系统缓存-路由器缓存-ISP DNS缓存查找URL对应的IP,此过程即为域名解析。
DNS劫持:DNS劫持又称域名劫持,是指通过某些手段取得某域名的解析控制权,修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址。
(二)服务器接收响应请求
服务器为安装了服务器相关操作系统(linux、windows server)的计算机,通过服务器的web server(Apache、Nginx、IIS、Lighttpd)接收用户的请求交给网站代码或接收请求反向代理到其他web服务器。
(三)网站处理流程
通过MVC模型
MVC
控制器接收用户请求,并调用模型获取相应数据,控制器使用使用视图模板生成HTML传给浏览器。
(四)浏览器处理
浏览器获得HTML字符串并逐一解析,若期间解析到需要重新发送请求获取其他数据的会按照第三步进行请求。
(五)绘制网页
浏览器根据HTML和CSS计算得到渲染树,绘制到屏幕上JS会被执行。(在今后深入学习后再回来补充此步骤,作深入解释)
以上为自己学习到的一些笔记。如有错误还望指正。
网友评论