从URL输入到页面展现的简单流程

URL是什么

  • URL:Uniform Resource Location 统一资源定位符,用于定位互联网上的资源

采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。
URL的格式URL的格式由下列三部分组成:

  • 第一部分是协议(或称为服务方式);
  • 第二部分是存有该资源的主机IP地址(有时也包括端口号);
  • 第三部分是主机资源的具体地址。,如目录和文件名等。
  • 第一部分和第二部分之间用“://”符号隔开,第二部分和第三部分用“/”符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。

URL对应http、file、ftp、https协议

  • http超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。对应网络上的某个资源。
  • file:本地文件传输协议,File协议主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件一样。对应本地的某个资源
  • ftp: 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。
  • https:(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。简单来说,就是加密后的http。

而不加httphttps的域名则是因为其域名和当前页面的协议保持一致

域名解析

对于http://jirengu.com 的URL,浏览器实际上不知道jirengu.com到底是什么东西,需要查找jirengu.com网站所在服务器的IP地址,才能找到目标。域名比数字的IP好记,所以HTML上显示的是域名

局域网 IP 和公网 IP 是有差别的,如果你在某个局域网中,那你上网时的使用的IP就是局域网的IP,而不是你设备上的IP,而公网IP是需要申请的

域名解析的流程
  • 1.浏览器缓存 – 浏览器会缓存DNS记录一段时间
  • 2.系统缓存 - 从 Hosts 文件查找是否有该域名和对应 IP。
  • 3.路由器缓存 – 一般路由器也会缓存域名信息。
  • 4.SP DNS 缓存 – 比如到电信的 DNS 上查找缓存。

你所打开的域名按以上顺序进行缓存,如果都没有找到,则向根域名服务器查找域名对应 IP,根域名服务器把请求转发到下一级,直到找到 IP

电脑如果上不了网,修改dns为8.8.8.8(google提供的dns服务器) 或者114.114.114.114(国内某个dns服务器),你所打开的域名就会直接从上面的服务器中寻找IP
dns 劫持:当你查找的域名时,所在的根服务器中的域名遭恶意篡改后给了个假的IP地址,导致你访问的网站不对,危害大,一般攻击的是ISP DNS

服务器处理阶段

服务器是一台安装系统的机器,常见的系统如Linux、windows server 2012
系统里安装的处理请求的应用叫 Web server

Web服务器

常见的 web服务器有 Apache、Nginx、IIS、Lighttpd
web服务器接收用户的Request 交给网站代码,或者接受请求反向代理到其他 web服务器

示例
用户发送Request交给Web服务器(ngnix),ngnix接收后,查找到IP地址202.112.230.14,当然,同一个IP下对应有不同的Request请求,通过ngnix寻找到该IP对应的服务器下的文件夹,再发送给用户

web服务器.png

网站处理流程

MVC 模型(model)-视图(view)-控制器(controller)

rails_mvc
  • 浏览器向 /users 发送请求;
  • Rails 的路由把 /users 交给 Users 控制器的 index 动作处理;
  • index 动作要求 User 模型读取所有用户(User.all);
  • User 模型从数据库中读取所有用户;
  • User 模型把所有用户组成的列表返回给控制器;
  • 控制器把所有用户赋值给 @users 变量,然后传入 index 视图;
  • 视图使用嵌入式 Ruby 把页面渲染成 HTML;
  • 控制器把 HTML 送回浏览器
    我们所说的前端就是视图的部分

浏览器处理阶段

  • HTML字符串被浏览器接受后被一句句读取解析
  • 解析到link 标签后重新发送请求获取css
  • 解析到 script标签后发送请求获取 js,并执行代码
  • 解析到img 标签后发送请求获取图片资源

绘制网页阶段

浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上
由HTML和CSS来控制网页的整个渲染效果,通过js来执行完成网页的视图效果

通过上述过程简单的描述了从URL到页面展示的流程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容