Android 网络编程之HTTP 协议

请求响应机制


我们平常上网,输入网址,请求数据,服务器收到请求数据后,给我们响应,返回一个网页,我们看到网页;这个一个请求,一个响应,使用的就是Http 协议,请求响应机制。

我们可以使用Chrome 浏览器快捷键Ctrl + Shift + I 来打开来查看。

Request Headers(请求头):

1
2
3
4
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp
Accept-Encoding:gzip,deflate,sdch
Accept-Language:zh-CN,zh;q=0.8,zh-TW;q=0.6,en;q=0.4 // 支持的语言
// ... other

Response Header(响应头):

1
2
3
4
5
Connection:keep-alive
Date:Mon, 10 Nov 2014 08:43:53 GMT
Last-Modified:Thu, 24 Jul 2014 16:28:21 GMT
Server:nginx/1.0.10
// ... other

获取详细的请求头(Request Headers)和响应头(Response Headers)以及自定义 请求信息


Http 请求的种类


Http 请求的种类

  • GET:通过URL 得到资源
  • POST:向服务器提交内容
  • PUT:用于修改某个内容
  • DELETE:用于删除某个内容
  • OPTIONS:查看服务器性能
  • TRACE:远程诊断服务器

Get 与Post 的区别

通过Get 方式提交数据(到服务器)


Tomcat 服务器搭建

学习过JavaEE 的同学,应该很熟悉的,没有学习过也不要紧,通过Google 来搜索也就五分钟就搞定了。

  • 去官网下载加压包(非安装版);
  • 配置环境变量

使用手机客户端,在输入框输入姓名密码,传到后端服务器并输出:

写mail.jsp 文件的时候,注意格式,先使用Chrome Dev Tools 测试,返回的请求头和响应头,还有Preview 中是否有数据(第一行),因为response 返回后,使用readLine() 读取数据,如果返回的数据第一行没有数据,则读入的空。

通过Post 方式提交数据(到服务器)


Post 和Get 的区别在上面已经说过了,尤其是提交敏感信息(比如用户密码)。一定是要通过Post 来提交服务器的。