阿里云盘邀请码-ins为什么注册不了

publisher教程
2023年4月6日发(作者:iphone中文)

【HttpClient4.5中⽂教程】⼀.HttpClient简介与HTTP简介

ient简介

超⽂本传输协议(HTTP)也许是当今互联⽹上所使⽤的最重要的协议了。

Webservices,联⽹设备和⽹络计算的发展,都持续

扩展了HTTP协议的⾓⾊,超越了⽤户使⽤的Web浏览器范畴,

同时,也增加了需要HTTP协议⽀持的应⽤程序的数量。

尽管包提供了通过HTTP访问资源的基本功能,但它缺少⾜够的灵活性和其它很多应⽤程序需要的功能。

HttpClient通过提供⼀个有效的,保持更新的,功能丰富的软件包来实现客户端最新的HTTP标准和建议,

来弥补包的在某些技术上的空⽩。

HttpClient为扩展⽽设计,同时为基本的HTTP协议提供强⼤的⽀持。有⼀些⼈会对HttpClient感兴趣,

这些⼈通常是构建HTTP客户端应⽤程序(⽐如web浏览器,web服务客户端,利⽤或扩展HTTP协议

进⾏来实现的分布式通信系统)的开发⼈员。

1.1HttpClient的范围

基于经典I/O(阻塞I/O)

内容⽆关

1.2HttpClient所不能做的

HttpClient不是⼀个浏览器。它是⼀个客户端的HTTP通信实现库。HttpClient的⽬标是发送和接收HTTP报⽂。

HttpClient不会去处理内容,执⾏嵌⼊在HTML页⾯中的javascript代码,猜测内容类型,如果没有明确设置,

否则不会重新格式化请求/重定向URI,或其它和HTTP通信⽆关的功能。

协议简介

在使⽤HttpClient之前,你需要简单了解下HTTP协议及其基本概念:

HTTP协议是HyperTextTransferProtocol(超⽂本传输协议)的缩写,是⽤于从万维⽹

(WWW,WorldWideWeb)

服务器传输超⽂本到本地浏览器的传送协议。

HTTP是⼀个基于TCP/IP通信协议来传递数据(HTML⽂件,图⽚⽂件,查询结果等)。

HTTP是⼀个属于应⽤层的⾯向对象的协议,由于其简捷、快速的⽅式,适⽤于分布式超媒体信息系统。

它于1990年提出,经过⼏年的使⽤与发展,得到不断地完善和扩展。

HTTP协议⼯作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器

发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

2.1HTTP请求

客户端发送⼀个HTTP请求到服务器的请求消息包括以下格式:

请求⾏(requestline)、请求头部(header)、空⾏和请求数据四个部分组成。

Get请求例⼦:

GET/P/1.1

User-AgentMozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)

Acceptimage/webp,image/*,*/*;q=0.8

Referer/

Accept-Encodinggzip,deflate,sdch

Accept-Languagezh-CN,zh;q=0.8

第⼀部分:请求⾏,⽤来说明请求类型,要访问的资源以及所使⽤的HTTP版本.

第⼆部分:请求头部,紧接着请求⾏(即第⼀⾏)之后的部分,⽤来说明服务器要使⽤的附加信息

HOST将指出请求的⽬的地.

User-Agent,服务器端和客户端脚本都能访问它,它是浏览器类型检测逻辑的重要基础.该信息由你的浏览器来定义,。

第三部分:空⾏,请求头部后⾯的空⾏是必须的

即使第四部分的请求数据为空,也必须有空⾏。

第四部分:请求数据也叫主体,可以添加任意的其他数据。

这个例⼦的请求数据为空。

POST请求例⼦:

POST/HTTP1.1

Host:

User-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1;.NETCLR2.0.50727

Content-Type:application/x-www-form-urlencoded

Content-Length:40

Connection:Keep-Alive

name=Professional%20Ajax&publisher=Wiley

第⼀部分:请求⾏,第⼀⾏明了是post请求,以及http1.1版本。

第⼆部分:请求头部,第⼆⾏⾄第六⾏。

第三部分:空⾏,第七⾏的空⾏。

第四部分:请求数据,第⼋⾏。

2.2HTTP之响应消息Response

⼀般情况下,服务器接收并处理客户端发过来的请求后会返回⼀个HTTP的响应消息。

HTTP响应也由四个部分组成,分别是:状态⾏、消息报头、空⾏和响应正⽂。

例⼦

HTTP/1.1200OK

Date:Fri,22May200906:07:21GMT

Content-Type:text/html;charset=UTF-8

第⼀部分:状态⾏,由HTTP协议版本号,状态码,状态消息三部分组成。

第⼀⾏为状态⾏,(HTTP/1.1)表明HTTP版本为1.1版本,状态码为200,状态消息为(ok)

第⼆部分:消息报头,⽤来说明客户端要使⽤的⼀些附加信息

第⼆⾏和第三⾏为消息报头,Date:⽣成响应的⽇期和时间;Content-Type:指定了MIME类型的HTML(text/html),编码类型是UTF-8

第三部分:空⾏,消息报头后⾯的空⾏是必须的

第四部分:响应正⽂,服务器返回给客户端的⽂本信息。

空⾏后⾯的html部分为响应正⽂。

2.3HTTP之状态码

状态代码有三位数字组成,第⼀个数字定义了响应的类别,共分五种类别:

1xx:指⽰信息--表⽰请求已接收,继续处理

2xx:成功--表⽰请求已被成功接收、理解、接受

3xx:重定向--要完成请求必须进⾏更进⼀步的操作

4xx:客户端错误--请求有语法错误或请求⽆法实现

5xx:服务器端错误--服务器未能实现合法的请求

常见状态码:

2.4HTTP请求⽅法

据HTTP标准,HTTP请求可以使⽤多种请求⽅法。

HTTP1.0定义了三种请求⽅法:GET,POST和HEAD⽅法。

HTTP1.1新增了五种请求⽅法:OPTIONS,PUT,DELETE,TRACE和CONNECT⽅法。

GET请求指定的页⾯信息,并返回实体主体。

HEAD类似于get请求,只不过返回的响应中没有具体的内容,⽤于获取报头

POST向指定资源提交数据进⾏处理请求(例如提交表单或者上传⽂件)。数据被包含在请求体中。

POST请求可能会导致新的资源的建⽴和/或已有资源的修改。

PUT从客户端向服务器传送的数据取代指定的⽂档的内容。

DELETE请求服务器删除指定的页⾯。

CONNECTHTTP/1.1协议中预留给能够将连接改为管道⽅式的代理服务器。

OPTIONS允许客户端查看服务器的性能。

TRACE回显服务器收到的请求,主要⽤于测试或诊断。

更多推荐

publisher教程