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

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

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

计算机也是如此,人类发明了计算机,单个计算机并不会发挥多大的功能,只有将它们联合起来,才能体现它们的强大,把计算机比作人类的话,计算机之间的沟通(通信)也要遵守某种标准,于是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请求,由名字可知是用于向服务器提交数据,可以提交很多内容,无上限。

Http协议的理解的更多相关文章

  1. HTTPS强制安全策略-HSTS协议阅读理解

    https://developer.mozilla.org/en-US/docs/Web/Security/HTTP_strict_transport_security [阅读理解式翻译,非严格遵循原 ...

  2. Http协议与TCP协议简单理解(转)

    在C#编写代码,很多时候会遇到Http协议或者TCP协议,这里做一个简单的理解.TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性.Http协议是建立在TCP协议基础之上 ...

  3. Http协议与TCP协议简单理解

    TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性.Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求.Http会通 ...

  4. HTTP协议强化理解

    一:第一波 1.  是什么? 答:是一种定义超文本在网络中如何进行传输的协议!   所有的WWW上的文件都必须遵循! 是基于TCP/IP. 传输路径:  客户端<——>服务端  (全双工) ...

  5. TeamTalk自定义IM协议的理解

    一.TeamTalk自定义IM协议 TeamTalk自定义IM协议是一种基于protocol buffer的消息传递协议,protocol buffer可以自定义消息格式.protocol buffe ...

  6. TCP/UDP协议、理解三次握手四次挥手、Socket

    一.什么是socket? 中文名叫套接字,是对底层的 TCP IP UDP 等网络协议进行封装,使得上层的应用程序开发者,不用直接接触这对复杂,丑陋的协议. 在程序员的言论,他就是一个封装好的模块,要 ...

  7. 关于GPL协议的理解(开源与商用、免费与收费的理解)

    编者:请特别注意看暗红色粗体标注的那几句话,总结下来有下面几点: 如果你用了我的 GPL软件,那么你的软件也必须要开源,否则就不能使用我的软件,你是否把你的软件商用和我没关系 Oracle 卖的不是软 ...

  8. 从敲入 URL 到浏览器渲染完成、对HTTP协议的理解

    1. 大致过程 当你这样子回答的时候: 用户输入 url 地址,浏览器查询 DNS 查找对应的请求 IP 地址 建立 TCP 连接 浏览器向服务器发送 http 请求,如果服务器段返回以 301 之类 ...

  9. RTMP协议的理解

    RTMP协议:real time message protocol 工作原理: 先采集摄像头视频和麦克风音频信息,再进行音视频的编码(mpeg),通过FMLE(Flash Media Live Enc ...

随机推荐

  1. MT【239】离心率最大

    已知点$A$为椭圆$\dfrac{x^2}{a^2}+\dfrac{y^2}{b^2}=1(a>b>0)$的左顶点,$O$为坐标原点,过椭圆的右焦点$F$作垂直于$x$轴的直线$l$.若直 ...

  2. MT【59】一道迭代函数作图

    [Read a good book, that is conversation with many a noble man.]---勒内·笛卡尔(1596-1650) 解答: 评:也可以把f(f(x) ...

  3. MT【24】一道五次方程的求根题

    解答: 评:一般的五次及以上的多项式方程是无根式解的,只能用计算机去精确到某某位.但是特殊的比如$x^5=1$显然有根式解,本题就是一个不平凡的特殊的例子,这里的代换用于求解三次方程的求根过程是一样的 ...

  4. [CF1132F]Clear the String

    题意 给你一个串s,每次可以花费1的代价删去一个子串,要求子串的每一位为同一个字符. 求删去整个串的最小代价. 分析 这是一道非常简单的区间\(DP\)问题,我们定义\(f[i][j]\)表示删去子串 ...

  5. emwin之点击窗口的无效部分来实现一些功能

    @2018-07-27 触摸屏幕窗口的无效部分实现 Dropdown 部件的折叠操作 > 具体代码 case WM_TOUCH: if (pMsg->Data.p) // Somethin ...

  6. nowcoder172A 中位数 (二分答案)

    二分一下答案,假设是x. 我们把大于x的看成1,小于x的看成-1,等于x的看成0 那某个区间的和如果是正的,就说明这个区间中位数大于x:如果是0,就等于x:如果是负的,就小于x: 这样的话,做一个前缀 ...

  7. Django model中的 class Meta 详解

    通过一个内嵌类 "class Meta" 给你的 model 定义元数据, 类似下面这样: class Foo(models.Model): bar = models.CharFi ...

  8. 邮件发送-》http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256

    昨天使用发送邮件报了一个错 http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256 主 ...

  9. 洛谷 P1064 金明的预算方案(01背包问题)

    传送门:Problem 1064 https://www.cnblogs.com/violet-acmer/p/9852294.html 题解: 这道题是 “01”背包问题的变形. 如果不考虑买附件必 ...

  10. (原)2018牛课多校第4场--G

    传送门 /* 按值从大到小排序,记录下相应出现的次数并去重 枚举:从大到小枚举,如果能够通过删除其他数让当前这个数成为众数,则循环结束,输出此数,如果循环结束也没答案,输出-1 优先级:值优先 举例: ...