Http协议的理解

作者技术有限,这篇博文都是结合网上的文章和自己的理解而写的,若存在错误,请无私指出,十分感谢!

协议,就是一种标准,即大家都要遵守的标准。

举个简单的例子:在中国,几乎人人都会讲普通话,不同地区的人有不同的方言,倘若各个人都讲自己的方言,这样势必很凌乱,你听不懂我的,我也听不懂你的。于是就得寻找一种人人都能听懂的语言(标准),就是普通话。

计算机也是如此,人类发明了计算机,单个计算机并不会发挥多大的功能,只有将它们联合起来,才能体现它们的强大,把计算机比作人类的话,计算机之间的沟通(通信)也要遵守某种标准,于是TCP/IP协议族就出现了,Http协议就是 TCP/IP 协议族的一部分。

Http协议建立通信时,通常需要有两端:客户端—服务器端,在浏览器中,客户端就是浏览器,如Chrome,Firefox等,服务器端就是各种服务器。
在程序语言中,Http客户端 已经被封装在一个类库中,如Java中的HttpClient类,那服务器端暂时理解为客户端所要访问的网站:http://www.baidu.com
 
Http通信的步骤:
1、首先需要通信的两方,客户端(HttpClient、浏览器等)和服务器端。
2、建立请求(HttpGet、浏览器开始打开网站)。
3、服务器收到请求,根据请求的类型返回相应的数据(HttpResponse)。客户端是浏览器的话,通常以网页的形式展现给用户;客户端如:HttpClient的话,则需要自行取出响应体里面的数据。
4、Http响应里面(HttpResponse)有响应体HttpEntity,根据响应的状态码判断请求是否成功(200,404等)。
5、看看响应体里面的内容,是文本还是文件流之类的,做相应的操作。
 
Http的特点:
1、Http协议是无状态的,即响应了请求(HttpGet)之后,客户端与服务器端之间的链接就中断了。
2、超文本的,即不止文本,还可以是其它常见的数据:音频、视频等。
3、通用的,平台无关的。
 
Http请求的种类:
GET和POST,其它方法已经逐渐被淡化,不做详解。
GET请求,由名字可知就是用于从服务器获取资源,无论进行多少次请求,所得到的数据都是相等的。
POST请求,由名字可知是用于向服务器提交数据,可以提交很多内容,无上限。
原文地址:https://www.cnblogs.com/miracletimes/p/4093247.html