作家
登录

老生常谈-从输入url到页面展示到底发生了什么

作者: 来源: 2017-04-11 16:06:01 阅读 我要评论

7、办事器返回一个 HTTP 响应

经由前面的6个步调,办事器收到了我们的请求,也处理我们的请求,到这一步,它会把它的处理结不雅返回,也就是返回一个HTPP响应。

HTTP响应与HTTP请求类似,HTTP响应也由3个部分构成,分别是:

l 状况行

l 响应头(Response Header)

  1. HTTP/1.1 200 OK    
  2. Date: Sat, 31 Dec 2005 23:59:59 GMT    
  3. Content-Type: text/html;charset=ISO-8859-1   Content-Length: 122   <html>    
  4. <head>    
  5. <title>http</title>    
  6. </head>    
  7. <body>    
  8. <!-- body goes here -->    
  9. </body>    
  10. </html>  

状况行:

DNS(Domain Name System,域名体系),因特网上作为域名和IP地址互相竽暌钩射的一个分布式数据库,可以或许应用户更便利的拜访互联网,而不消去记住可以或许被机械直接攫取的IP数串。经由过程主机名,最终获得该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。

状况行由协定版本、数字情势的状况代码、及响应的状况描述,各元素之间以空格分隔。

格局: HTTP-Version Status-Code Reason-Phrase CRLF

例如: HTTP/1.1 200 OK \r\n

-- 协定版本:是用http1.0照样其他版本

-- 状况描述:状况描述给出了关于状况代码的简短的文字描述。比如状况代码为200时的描述为 ok

403 Forbidden 表示办事器收到请求,然则拒绝供给办事,平日会在响应正文中给出不供给办事的原因

-- 状况代码:状况代码由三位数字构成,第一个数字定义岭锾螃的类别,且有五种可能取值。如下

1xx:信息性状况码,表示办事器已接收了客户端请求,客户端可持续发送请求。

100 Continue

101 Switching Protocols

2xx:成功状况码,表示办事器已成功接收到请求并进行处理。200 OK 表示客户端请求成功

204 No Content 成功,但不返回任何实体的主体部分

206 Partial Content 成功履行了一个范围(Range)请求

下面是一个完全的HTTP请求例子:

3xx:重定向状况码,表示办事器请求客户端重定向。

不像动态页面,静态文件会许可浏览器对其进行缓存。有的文件可能会不须要与办事器通信,而大年夜缓存中直接攫取,或者可以放到CDN中

301 Moved Permanently 永远性重定向,响应报文的Location首部应当有该资本的新URL

302 Found 临时性重定向,响应报文的Location首部给出的URL用光降时定位资本

303 See Other 请求的资本存在着另一个URI,客户端应应用GET办法定向获取请求的资本

304 Not Modified 办事器内容没有更新,可以直接攫取浏览器缓存

307 Temporary Redirect 临时重定向。与302 Found含义一样。302禁止POST变换为GET,但实际应用时并不必定,307则更多浏览器可能会遵守这一标准,但也依附于浏览器具体实现

4xx:客户端缺点状况码,表示客户端的请求有不法内容。

400 Bad Request 表示客户端请求有语法缺点,不克不及被办事器所懂得

401 Unauthonzed 表示请求未经授权,该状况代码必须与 WWW-Authenticate 报头域一路应用

404 Not Found 请求的资本不存在,例如,输入了缺点的URL

书中的例子是如许的,“已掉效的连接请求报文段”的产生在如许一种情况下:client发出的第一个连接请求报文段并没有损掉,而是在某个收集结点长时光的滞留了,乃至耽搁到连接释放今后的某个时光才达到server。本来这是一个早已掉效的报文段。但server收到此掉效的连接请求报文段后,就误认为是client再次发出的一个新的连接请求。于是就向client发出确认报文段,赞成建立连接

5xx:办事器缺点状况码,表示办事器未能正常处理客户端的请求而出现不测缺点。

500 Internel Server Error 表示办事器产生弗成预期的缺点,导致无法完成客户端的请求

503 Service Unavailable 表示办事器当前不克不及够处理客户端的请求,在一段时光之后,办事器可能会恢复正常

后端大年夜在固定的端口接收到TCP报文开端,它会对TCP连接进行处理,对HTTP协定进行解析,并按照报文格局进一步封装成HTTP Request对象,供上层应用。

响应头:

响应头部:由关键字/值对构成,每行一对,关键字和值用英文冒号":"分隔,典范的响应头有:  

响应正文

包含着我们须要的一些具体信息,比如cookie,html,image,后端返回的请求数据等等。这里须要留意,响应正文和响应头之间有一行空格,表示响应头的信息到空格为止,下图是fiddler抓到的请求正文,红色框中的:响应正文:

 

8、浏览器显示 HTML

解析html以构建dom树 -> 构建render树 -> 构造render树 -> 绘制render树 

浏览器在解析html文件时,会”自上而下“加载,并在加载过程中进行解析衬着。在解析过程中,如不雅碰到请求外部资本时,如图片、外链的CSS、iconfont等,请求过程是异步的,并不会影响html文档进行加载。


  推荐阅读

  5个开源RSS订阅阅读器

但简便并不料味着缺乏功能。其响应式设计在任何设备上看起来都很好,并可以应用主题、API 接口、多说话、固定书签等等。 你日常平凡应用 RSS 浏览器么?四年前当 Google Reader 宣布停止的时>>>详细阅读


本文标题:老生常谈-从输入url到页面展示到底发生了什么

地址:http://www.17bianji.com/lsqh/34725.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)