J2ME学习(二)——HTTP协议初步
1、 简介
HTTP(HyperText Transfer Protocol),中文名称为超文本传输协议,工作在OSI七层体系中的应用层,属于高层应用协议。
HTTP协议主要用在浏览器和Web服务器之间进行通信。
HTTP协议使用明文进行传输,如果需要加密传输,可以使用https(注:j2me暂时不支持)。
HTTP协议在发送时有很多发送的方式,介绍如下
2、 HTTP协议版本
HTTP协议有3个版本,依次是0.9、1.0、1.1。当前最新版本是1.1,但是1.0受到普遍
支持。
3、 发送方法
HTTP协议在发送时可以根据传输数据的方式不同分为多种方法,其中HTTP0.9支持
get、post两种方法,HTTP1.0支持7种方法,HTTP1.1支持的方法更多。
常用的方法有get和post。
Get方法和post方法的区别是传送数据时,数据所放置的位置不同。Get方法把参数放置在协议内部的请求行中。而post方法将提交的参数放置在实体数据部分中。
更加详细的信息可以参考:http://dev.csdn.net/article/10/10865.shtm
4、 协议格式
HTTP协议是使用明文进行传输,协议主要分为三个部分:
a) 请求行/响应行:该部分只有一行,包含三个部分:请求方法 请求资源 使用的HTTP协议的版本。例如:
get /index.html http/1.1
其中get为请求方法,/index.html是请求的资源,http/1.1是指客户端支持的HTTP协议的版本。
b) 头信息:头信息部分主要传输服务器或者客户端的一些设定信息,可以有任意多个,传输时使用“名称:值”的形式,例如:
Accept-Language: zh-cn
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
其中HTTP协议里面规定了40多个头信息名称的用途,你也可以根据需要,自己来进行定义。
头信息结束时需要一个空行和实体数据部分分开。
c) 实体数据:实体数据在请求时,如果以post方式提交时存储参数,以get方式请求时为空。在响应时,存储服务器端反馈的HTML源代码的数据。