《android开发进阶从小工到专家》读书笔记--HTTP网络请求

Posted 嘉禾世兴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《android开发进阶从小工到专家》读书笔记--HTTP网络请求相关的知识,希望对你有一定的参考价值。

No1:

客户端与服务器的交互流程:

1)客户端执行网络请求,从URL中解析出服务器的主机名

2)将服务器的主机名转换成服务器的IP地址

3)将端口号从URL中解析出来

4)建立一条从客户端与Web服务器的TCP连接

5)客户端通过输出流向服务器发送一条HTTP请求

6)服务器向客户端回送一条HTTP响应报文

7)客户端从输入流获取报文

8)客户端解析报文,关闭连接

9)客户端将结果显示在UI上

No2:

HTTP请求方式:

1)GET

获取服务器中某个资源,www.devtf.cn/articles/123.html?username=myname&userid=123

2)POST

通常会会用来提交HTML的表单

3)PUT

会向服务器写入资源

4)DELETE

请求服务器删除请求URL所指定的资源。但是,客户端应用程序无法保证删除操作一定会被执行。因为,HTTP规范允许服务器在不通知客户端的情况下撤销请求。DELETE方式和GET请求一样,参数都需要放在请求的URL中。

5)HEAD

与GET方法行为很类似,但服务器在响应中只返回首部,不会返回实体的主体部分。这就允许客户端在未获取实际资源的情况下,对资源的首部进行检查。

6)TRACE

TRACE请求会在目的服务端发起一个“环回”诊断。行程最后一站的服务器会弹回一条TRACE响应,并在响应主体中携带它收到的原始请求报文。这样客户端就可以查看在所有中间HTTP应用程序组成的请求/响应链上,原始报文是否以及如何被毁坏或修改过。

主要用于诊断,即用于验证请求是否如愿穿过了请求/响应链

7)OPTIONS请求

OPTIONS方法请求Web服务器告知其支持的各种功能。可以询问服务器通常支持哪些方法,或者对某些特殊资源支持哪些方法(有些服务器可能只支持对一些特殊类型的对象使用特定的操作)

No3:

一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成。

HTTP响应也由3个部分组成,分别是:状态行、消息报头、响应正文。

No4:

常见状态代码、状态描述

1)200 OK:客户端请求成功

2)400 Bad Request:客户端请求有语法错误,不能被服务器所理解

3)401 Unauthorized:请求未经授权,这个状态码必须和WWW-Authenticate报头域一起使用

4)403 Forbidden:服务器收到请求,但是拒绝提供服务

5)404 Not Fount:请求资源不存在,举个例子:输入了错误的URL

6)500 Internal Server Error:服务器发生不可预期的错误

7)503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常,举个例子:HTTP/1.1 200 OK(CRLF)

No5:

HTTP要传送一条报文时,会以流的形式将报文数据的内容通过一条打开的TCP连接按序传输。TCP收到数据流之后,会将数据流分割成被称作段的小数据块,并将段封装在IP分组中,通过因特网进行传输。所有这些工作都是由TCP/IP软件来处理的,程序员什么都看不到。

No6:

android中提供了两种执行网络请求的方式,一种是使用Apache的HttpClient,另一种则是Java的HttpURLConnection。

No7:

HttpURLConnection的API简单,体积较小,它的压缩和缓存机制可以有效的减少网络访问的流量,在提升速度和省电方面也起到了较大的作用。

在Android 6.0中,HttpClient库已经被移除。

No8:

一旦向输出流中写入了参数,那么请求方式则会变为POST,即使通过setRequestMethod函数将请求设置为“GET”。因为GET请求的参数是附在URL中的,因此,如果是GET请求,则不要在请求体中设置参数。

 《android开发进阶从小工到专家》读书笔记--网络框架的设计与实现

以上是关于《android开发进阶从小工到专家》读书笔记--HTTP网络请求的主要内容,如果未能解决你的问题,请参考以下文章

Android工程师进阶之路 :《Android开发进阶:从小工到专家》上市啦!

《程序员修炼之道:从小工到专家》读书笔记

Androidproject师进阶之路 :《Android开发进阶:从小工到专家》上市啦!

第四周读书笔记——《程序员修炼之道——从小工到专家》

《程序员修炼之道--从小工到专家》读书小计

程序员修炼之道_从小工到专家_读书分享