Unity常用网络框架之HTTP协议(一)

HTTP概念:

           HTTP协议:超文本传输协议,客户端浏览器或其他程序与Web服务器之间的应用层通信协议。

                                我们经常浏览的网页就是HTTP协议的一种典型应用。HTTP协议默认端口是80

           在网络游戏开发中我们常常会讨论通讯方式是用短连接还是长连接,这里的短连接就是HTTP协议。

            短连接形象化一点就是我们平常生活中的发邮件或者是发短信,发给对方消息之后,对方选择性的给我们一些回复,http协议是短连接。

            长连接:TCP、IP协议是长连接。

Unity常用网络框架之HTTP协议(一)_第1张图片

我们在访问网页时在Url中输入的地址隐含的一个端口就是默认端口,比如百度页面:

进入开发者工具后重新访问下百度,Name 那一栏是客户端对服务器发送的请求,请求的百度服务器的url,百度服务器的地址

由图可见HTTP协议存在于TCP协议之上,有时候也存在于TLS 、SSL协议之上(这个时候就形成了我们说的HTTPS协议)

 

HTTP请求响应模型:

Unity常用网络框架之HTTP协议(一)_第2张图片

                         Unity常用网络框架之HTTP协议(一)_第3张图片

 

HTTP协议   永远都是客户端发起请求,服务器端响应请求,不是实时反馈。

但是如果对于在游戏中实时性要求比较强:比如服务器端要主动向客户端推送消息,HTTP协议是无法实现要求的

如果服务器端要主动向客户端推送消息,这时候就要用到下一章节要讲的Tcp  IP 协议。

HTTP协议工作流程:1、连接    2、请求   3、响应

  HTTP协议特点:

        每次连接只处理一个请求,当服务器处理完客户端的请求就会断开连接

HTTP协议常用的请求方式:

       Get和Post是HTTP协议规定的客户端向服务端传递数据的两种方式。

      HTTP协议Get和Post请求方式的区别:

             Get是通过URL传递表单值,Post传递的表单值是隐含到http的报文中,数据在HTTP协议体中,url中看不到。

            Get请求通过URL传递数据的格式:URL中请求的文件名后跟着“ ?”;多组键值对,键值对之间用“&”进行分割;URL中包含汉字、特殊符号、需要对这些字符进行编码。     

        

             Get 传递的数据量是有限的(最多是1024 字节)如果要传递大量数据不能用Get,要用Post。 

Unity常用网络框架之HTTP协议(一)_第4张图片

 

   HTTP协议Get和Post请求方式的优缺点:

Unity常用网络框架之HTTP协议(一)_第5张图片

 

 

 

 

 

 

你可能感兴趣的:(Unity常用网络框架之HTTP协议(一))