HTTP协议
HTTP协议简介
HTTP协议即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。它是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以是浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。
HTTP协议的特点
1、支持客户/服务器模式。支持基本认证和安全认证;
2、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快;
3、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记;
4、HTTP 0.9和1.0使用非持续连接:限制每次连接值处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接。HTTP 1.1使用持续连接:不必为每个web对象创建一个新的连接,一个连接可以传送多个对象,采用这种方式可以节省传输时间;
5、无状态:无状态是指协议对于事物处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
HTTP协议的基本工作流程
HTTP是基于传输层的TCP协议,而TCP是一个端到端的面向连接的协议。所谓的端到端可以理解为进程到进程之间的通信。所以HTTP在开始传输之前,首先需要建立TCP连接,而TCP连接的过程需要“三次握手”。在TCP三次握手之后,建立TCP连接,此时HTTP就可以进行传输了。一个重要的概念是面向连接,既HTTP在传输完成之间并不断开TCP连接。而一次HTTP操作称为一个事务,其工作过程可分为四步:
1、客户机与服务器建立连接;
2、客户机发送请求;
3、服务器响应;
4、客户端显示返回信息,并断开连接。