HTTP协议相关知识
一:HTTP协议概述
(1)HTTP的发展历史
1989年,CERN的蒂姆·伯纳斯李提出一种能让远隔两地的研究者们共享知识的设想,这个设想即为WEB的最初设想。设想之初提出三大构建技术:HTML(HyperText Markup Language,超文本标记语言)——解决页面在客户端显示的问题;HTTP(HyperText Transfer Protocol,超文本传输协议)——解决客户端与服务器之间文件传输的问题;URL(Uniform Resource Locator,统一资源定位符)——解决资源在互联网中的定位问题。
HTTP协议于1990年问世,当时的版本并未成为正式的标准,因此被称为HTTP/0.9。1996年5月HTTP/1.0作为标准被正式公布,1997年1月公布的HTTP/1.1是目前主流的HTTP协议版本。新一代的HTTP/2.0目前正在制定当中,但要达到较高的使用覆盖率,仍需要时间。
(2)HTTP协议的特点
HTTP协议是一个面向对象的应用层协议,由于其简捷、快速的特点,非常适用于互联网应用。目前WEB中正在使用的是HTTP/1.1,其主要特点可概括为:
1、协议简单、无状态。简单可以理解为用户和Web服务器之间的交互方式简单,可概括为:“用户端发起请求,服务端响应请求”这样的一个过程。当然,这个过程中涉及到很多工程上的问题,我们这里不做讨论。HTTP无状态的特点表现为HTTP协议自身不对请求和响应之间的通信状态进行保存,既协议对于发送过的请求和响应都不做持久化处理。
2、协议支持B/S模式(Browser/Server)。用户可以使用浏览器或APP通过简单的操作即可享受互联网的服务和资源。
3、协议灵活。HTTP协议可用于多种资源的传输,包括但不限于数据传输,视频、文件传输,各种交互场景。
对于WEB安全而言,HTTP作为应用层的传输方式,目前存在的大量安全问题基本都是HTTP的应用所带来的,但HTTP本身并没有很好的防护措施。
二:客户端与Web服务器交互的大致过程
一般作为计算机专业科班出身的同学,对于网络的学习都是按计算机网络体系结构所划分的层次进行的,但学完之后仍对互联网时如果工作的没有一个完整的认知,毕竟网络是一个巨大且复杂的系统。如果要对HTTP协议有一个更深入、全面的了解,笔者认为还是需要对客户端与Web服务器之间的交互过程有一个大概的