熟悉又陌生的Web,HTTP协议

HTTP是基于TCP之上,用来传输hypertext文档的应用层协议,Tim最开始发明它的目的就是容易实现,所以最初版本的HTTP协议很简单,请求就只有一行,响应直接返回HTML内容,请求和响应都没有Head信息。
随着Web的发展,HTTP协议中添加进了Head,服务器和浏览器可以通过head中的字段(如version,content-type等)沟通信息。

HTTP中的一个基本概念是URL,统一资源定位符,用来标识Web中的某个资源,如HTML文档,视频,音频,图片,script脚本等。URL的格式如下
http(s)://host:port/context/one-resource?param1=val1¶m2=val2#fragment

HTTP是请求/响应模式的,最突出的特点是无状态,每次请求中都需要包含足够的信息,这样可以由不同代理/服务器处理服务请求。

在演进方向上有2个重要特征,一个是RESTful,另外一个是HTTP/2。

  • RESTful侧重Web应用的架构,规范资源的操作接口,统一使用HTTP的风格,使用自说明的URL地址,并使用标准的GET,PUT,POST,DELETE跟资源交互。
  • HTTP/2侧重Web性能,在SPDY协议的基础上解决了HTTP 1.1版本中的问题,优化了HTTP的性能。最主要的特点是
    TCP连接复用
    Head压缩
    二进制封装数据

补充:HTTP/2仍然沿用原有的语义,只是在消息传输上做了改进(需要浏览器和Web服务器加入支持),所以对应用开发没有影响。

实用技巧:HTTP抓包

工具 Teleric FiddlerCap
https://www.telerik.com/fiddler/fiddlercap

你可能感兴趣的:(熟悉又陌生的Web,HTTP协议)