第九章 网络编程
9.1网络编程入门
一、 HTTP协议简介
1、 HTTP (Hyper Text Transfer Protocol)协议即超文本传输协议,它规定了浏览器和万维网服务器之间互相通信的规则。
2、日常生活中,大多数人遇到了问题都会使用手机进行百度搜索。在浏览器的地址栏中输入百度的网址点击搜索,此时就会进入百度主页。这个访问百度的过程就是通过HTTP协议完成的。
- 一次HTTP请求的过程
- 建立连接→发送请求→处理请求→返回数据→发送请求2→…………关闭连接
- HTTP请求的常用方式
- GET
- POST
- HTTP请求的格式
- 请求行
- 请求头
- 请求体
- HTTP响应的格式
- 响应行(包含响应码: 200 404 500 302)
- 响应头
- 响应体
二、Handler消息机制
-
Handler
- Handler主要用于发送消息和处理消息。一般使用Handelr对象的
sendMessage()方法发送消息,消息经过一系列处理后,最终会传递到
Handler的handlerMessage()方法中。 - 发送即时消息: sendMessage(Message msg)
- 发送延时消息: sendMessageDelaved(Messagemsg, long time)
- 处理消息: handleMessage(Message msR)(回调方法)
- 移除还未处理的消息:removeMessages(int what)
- Handler主要用于发送消息和处理消息。一般使用Handelr对象的
-
MessageQueue
- MessageQueue是消息队列的意思,它主要用来存放通过Handler发送的消息。通过Handler发送的消息会存在MessageQueue中等待处理。它是一个按Message的when排序的优先级队列。(when:代表着被处理的时间)
-
Looper
- Looper是每个线程中的MessageQueue的管家。调用Looper的loop()方法后,就会进入到一个无线循环中。然后一发现MessageQueue中存在一条消息,就会将它取出,并传递到Handler的HandlerMessage()方法中。
9.4数据提交方式
一、GET方式和POST方式提交数据
1、HTTP/1.1协议中共定义了八种方法来表明Request-URl指定的资源的不同操作方式。其中最常用的两种请求方式是GET和POST。
2、GET方式与POST方式的区别
- GET方式以实体的方式得到由请求URL所指向的资源信息.向服务器提交的参数蹑在请求URL后面。使用GET方式访问网络URL的长度是有限制的,请求URL的长度要小于1K。
- POST方式用来向目的服务器发出请求.要求它接收被耐在诘求后的实体。它向服务器提交的参数在请求后的实体中,POST方式对URL的长度是没有限制的。