1.如何写一个简单的<<<< File content goes here浏览器并从服务器的响应中获得服务器的信息:比如运行在Apache 。
上面翻译成翻译成语言上面就是RFC 2616(摘自:<<<< File content goes here上面例子就是最简单的交互过程描述,需要对HTTP协议中具体的命令了解,就需要阅读- 作者: trueman 2005年09月4日,星期日 20:31 回复(0) | 引用(0) 加入博采HTTP――网海之舟 HTTP(超文本传输协议,Hyper-Text Transport Protocol )是用于在互联网上传输超文本文件的协议 。它对一个HTTP客户程序和一个HTTP服务程序进行端对端的连接 。
HTTP是在WWW (WWW )上所应用的最重要的协议 。它是Web 自己的协议,用来从一个HTTP服务器上检索信息 。
这可以是用HTML写的文本文件,静态图象,声音文件,动画视频或仅是简单的文本文件:HTTP服务器知道怎样识别文件类型,并通过线路在传输之前告诉你的浏览器将要传来什么样的文件,以便浏览器知道如何对待 。HTTP是Web 技术中的一个最基本的协议,它是一个应用层协议,直接用TCP层传递 。
整个协议的通信过程十分简单 。为了要讲清HTTP传送一个文件的通信过程,首先有必要来重申一下URL 的概念 。
URL (Uniform Resource Locator)的中文意思为统一资源定位器,它是用来确定在IP网上Web 系统信息资源的位置的,URL 从结构上讲很有点像计算机中的文件名,例如下面就是一个URL.这个URL 实际上要找的是Geo.html文件,前面都是路径名 。在Web 系统中,就是用URL 来寻找相应文件的 。
当然实际上URL 还可以有复杂的形式并可带各种相关参数 。在基本了解了URL 后,就可以来看HTTP是怎样工作的了 。
当客户机向服务器请求一个文件时,首先要建立一条TCP 连接,在TCP 连接好后,客户机就向服务器发送URL ,让服务器根据URL 去寻找相应的文件,找到文件后就从已建立好的TCP 通道上发给客户机,文件发送完毕即拆除TCP 连接 。当要寻找另一个文件时,需要重复上述过程 。
从上述过程可以看出,HTTP协议十分简单 。使用HTTP后,服务器需要做的事只是接受一个请求(URL ),根据用户的请求发送相应文件,服务器不要做任何检索轨迹的记录,从而使一个服务器支持的用户数大为增加 。
但HTTP也有不少缺点,因为其简单,每传一个文件就要建一次TCP 。
3.如何使用http协议与服务端通信首先,需要明确一下http通信流程,Android目前提供两种http通信方式,HttpURLConnection和HttpClient,HttpURLConnection多用于发送或接收流式数据,因此比较适合上传/下载文件,HttpClient相对来讲更大更全能,但是速度相对也要慢一点 。在此只介绍HttpClient的通信流程:
1.创建HttpClient对象,改对象可以用来多次发送不同的http请求
2.创建HttpPost或HttpGet对象,设置参数,每发送一次http请求,都需要这样一个对象
3.利用HttpClient的execute方法发送请求并等待结果,该方法会一直阻塞当前线程,直到返回结果或抛出异常 。
4.针对结果和异常做相应处理
根据上述流程,发现在设计类的时候,有几点需要考虑到:
1.HttpClient对象可以重复使用,因此可以作为类的静态变量
2.HttpPost/HttpGet对象一般无法重复使用(如果你每次请求的参数都差不多,也可以重复使用),因此可以创建一个方法用来初始化,同时设置一些需要上传到服务器的资源
3.目前Android不再支持在UI线程中发起Http请求,实际上也不该这么做,因为这样会阻塞UI线程 。因此还需要一个子线程,用来发起Http请求,即执行execute方法
4.不同的请求对应不同的返回结果,对于如何处理返回结果(一般来说都是解析json&;更新UI),需要有一定的自由度 。
- 什么是web服务器 什么是web服务器软件
- 传奇登录器自动关闭 传奇账号登录服务器异常关闭
- robocraft进不去 robocraft连接不到服务器
- 如何取消快捷支付 如何取消快捷支付协议
- 战略合作伙伴 战略合作伙伴协议书
- 连接apple id服务器时出错怎么回事
- 开传奇 开传奇手游需要什么样的服务器
- 如何架设服务器 怎样搭建服务器
- 怎么连接服务器 roblox怎么连接服务器
- 群英服务器 群英服务器托管