> Http:是Hypertext transfer protocol的简称。即为超文本协议。我们分别从一下几个大方面展开讲述:
【1】 Http基础详解
【2】 HTTP常见交互返回值的解析
【3】 Http多线程下载和文件上传
1.1 什么是Http协议?
> 它定义了客户端与服务器端数据的传递协议。一次http操作称作一个事务,工作流程有以下四个步骤:
①:首先,客户机与服务器端建立链接,只要单机某个超级链接,http工作就开始了。
②:建立链接后,客户机会向服务器发送一个请求,请求的格式为:统一资源标识符(URL),协议版本号等信息。
③:服务器接收到请求后,会给客户端一个回应,其格式为一个状态行,包括协议版本号,一个正确或错误的代码等。
④:客户端收到服务器端发送的回应消息后,会显示在客户端的屏幕上。
(简单说来,就是客户端发送请求,服务器端回应消息)
但Http协议也有弊端,就是必须客户端向服务器端发送请求后才会接受消息,而非服务器端自动地发送消息给客户端。另外,客户端的每一次请求都和上一次请求没有任何关系,一旦发出一次请求,就与服务器断开了链接。
> URL:统一资源定位符,即网页地址。由三部分组成:
①:协议②存有该资源的IP地址③主机资源的具体地址
第一部分与第二部分之间用“://”隔开;第二部分与第三部分用“/”隔开。前两部分是必需的,第三部分可以没有。
> TCP三次握手协议:即要建立tcp链接的三个过程。其中SYN是客户端和服务器端的握手信号。
①:客户端向服务器端发送SYN消息
②:服务器回发SYN+ACK消息给客户端,表示已经接收到了请求消息。
③:客户端再发送给服务器ACK消息相应服务器
经过三次握手的过程,客户端和服务器端才能建立可靠的TCP链接。
其中ACK是确认字符,是接收站发给发送站的一种传输类的字符。表示发送的消息已经接收无误。
> Http请求方式:有GET、POST、DELETE、PUT等,但最常用的是GET和POST。
①:GET,请求获取Request-Uri所标识的资源。
②:POST,在Request-Uri所标识的资源后附加新的资源。
> Http响应码信息:
①:200 OK //客户端请求成功
②:400 Bad Request //客户端请求语法有错误,服务器没法解读
③:403 Forbidden //服务器接收到请求,但是拒绝提供服务。
④:404 Not Found //客户端请求的资源部存在。eg:输入了错误的URL。
⑤:500 Internal Server Error //服务器发生了不可预期的错误。
⑥:503 Server Unavailable //服务器当前不能提供服务,过一段时间可能会恢复。
以上是比较常见的一些响应码。
1.2 Http协议特点
> OSI七层协议:国际标准化组织OSI在1981年推出一个网络系统结构——七层参考模型,称为开放系统互联模型。通过对不同的功能划分出了七个网络层次,如图:
上面第二幅图是精简后的又一个概念:tcp/ip四层协议。
ps:本文接着下一篇文章:Android中的Http通信(二)