HTTP协议的基础知识

HTTP(Hypertext Transfer Protocol,超文本传输协议),TCP/IP协议的一个应用层协议,用于定义Web浏览器与Web服务器之间交换数据的过程。客户端连上Web服务器后,若想获得Web服务器中的某个Web资源,需遵守一定的通讯格式,而HTTP协议就是用于定义客户端与Web服务器通迅的格式。

HTTP 1.0与HTTP 1.1的区别

1、在HTTP 1.0中,客户端的每次请求都要求建立一次单独的连接,在处理完本次请求后,就自动释放连接。
  2、在HTTP 1.1中则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。

HTTP请求包
HTTP协议的基础知识_第1张图片
HTTP请求包结构
POST /meme.php/home/user/login HTTP/1.1
Host: 114.215.86.90
Cache-Control: no-cache
Postman-Token: bd243d6b-da03-902f-0a2c-8e9377f6f6ed
Content-Type: application/x-www-form-urlencoded

tel=13637829200&password=123456

HTTP/1.1定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE,最常的两种GET和POST。如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT。

HTTP响应包
HTTP协议的基础知识_第2张图片
HTTP响应包结构
HTTP/1.1 200 OK
Date: Sat, 02 Jan 2016 13:20:55 GMT
Server: Apache/2.4.6 (CentOS) PHP/5.6.14
X-Powered-By: PHP/5.6.14
Content-Length: 78
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8

{"status":202,"info":"\u6b64\u7528\u6237\u4e0d\u5b58\u5728\uff01","data":null}
HTTP协议的特点

1、支持客户/服务器模式。
  2、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、 HEAD、POST。每种方法规定了客户与服务器联系的类型不同。 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
  3、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
  4、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求, 并且客户端收到应答后,即断开连接。采用这种方式可以节省传输时间。
  5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。 缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

参考

你应该知道的HTTP基础知识
Android网络请求心路历程

你可能感兴趣的:(HTTP协议的基础知识)