首页 > 业内资讯 > 全栈工程师眼中的 HTTP

全栈工程师眼中的 HTTP

时间:2016-01-20 | 来源:developerWorks | 阅读:75

话题: developerWorks


2015年2月,HTTP/2正式发布。新的HTTP版本有一些重大更新,除了一如既往地向下兼容HTTP/1以外,还有一些优化,比如减小网络传输延迟,并简化服务器向浏览器传输内容的过程。主流的服务器(Apache、Nginx等)和浏览器(Firefox、Chrome、Safari以及iOS和Android的浏览器等)的最新版都已经支持HTTP/2,剩下的就需要网站管理员把服务器升级到最新版了。


例子

下面是一个HTTP客户端与服务器之间会话的例子,运行于www.google.com,端口80。


客户端首先发出请求。

GET / HTTP/1.1 Host:www.google.com


第一行指定方法、资源路径、协议版本。当然这是一个简化后的例子,实际请求中还会有当前Google登录账户的cookie、HTTPS头、浏览器接受何种类型的压缩格式和UA2代码等。


服务器随之应答。

HTTP/1.1 200 OK Content-Length: 3059 Server: GWS/2.0 Date: Mon, 20 Apr 2015 20:30:45 GMT Content-Type: text/html Cache-control: private Set-cookie: PREF=ID=73d4aef52e57bae9:TM=1042253044:LM=1042253044:S= SMCc_HRPCQiqy X9j; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com Connection: keep-alive


在这一串HTTPS头之后,会紧跟着一个空行,然后是HTML格式的文本组成的Google主页。


介绍完关于HTTP的基本知识,我们来分别看看前端工程师和后台工程师分别是怎样看待这个最熟悉的小伙伴的。


前端视角

前端工程师的职责之一是,让网站又快又好地展现在用户的浏览器中。


从这个角度来说,对HTTP的理解是这样的:打开HttpWatch3,然后随意访问一个网站。HttpWatch会按照浏览器请求的次序,列出打开这个网站的时候发生的请求细节。

  • 发出的请求列表。

  • 每个请求的开始时间。

  • 每个请求从开始到结束花费的时间。

  • 每个请求的类型(比如是文本、CSS、JS,还是图片或者字体等)。

  • 每个请求的状态码(比如是200、还是from cache、304、404等)。

  • 每个请求产生的流量消耗。

  • 每个请求gzip4压缩前的体积,以及在本地gzip解压后的体积。


湘ICP备2022002427号-10湘公网安备:43070202000427号
© 2013~2019 haote.com 好特网