大话HTTP3 -- HTTP协议的特性和使用方法

HTTP协议中的编码和解码

 

字符集与编码

大话HTTP3 -- HTTP协议的特性和使用方法

 

大话HTTP3 -- HTTP协议的特性和使用方法

 

编码和解码的方式不一致,就会产生乱码。

 

URL的编码与解码

URL是采用ASCII字符集进行编码的,所以如果URL中含有非ASCII字符集中的字符,要对其进行编码。

URL中一些保留字符,如 "&" 表示参数分隔符,如果想要在URL中使用这些保留字,那就需要编码。

“%编码”规范:对 URL 中属于 ASCII 字符集的非保留字不做编码;对URL中的保留字需要取其ASCII内码,然后加上“%”前缀将该字符进行编码;对于URL中的非ASCII字符需要取其Unicode内码,然后加上"%"前缀将该字符进行编码。

 

 

HTTP协议的基本认证

身份认证信息:

密码

动态令牌

数字证书

生物认证

IC卡等

 

常见认证方式

BASIC认证 (基本认证)

DIGEST认证 (摘要认证)

SSL 客户端认证

FromBase认证 (基于表单认证)

 

BASIC认证

大话HTTP3 -- HTTP协议的特性和使用方法

大话HTTP3 -- HTTP协议的特性和使用方法

 

DIGEST认证

为弥补BASIC认证存在的弱点,从 HTTP/1.1 起就有了 DIGEST 认证。

DIGEST认证同样使用 质询/响应 的方式,但不会像 BASIC 认证那样直接发送明文密码。

 

大话HTTP3 -- HTTP协议的特性和使用方法

 

 

SSL客户端认证

SSL客户端认证是借由HTTPS的客户端证书完成认证的方式。凭借客户端证书认证,服务器可确认访问是否来自已登陆的客户端。

 

基于表单的认证

基于表单的认证方法并不是在HTTP协议中定义的。

使用由Web应用程序各自实现基于表单的认证方式。

通过Cookie和Session的方式来保持用户的状态。

 

HTTP的长连接与短连接

HTTP 协议是基于 请求/响应 模式的,因此只要服务端给了响应,本次 HTTP 请求就结束了。

HTTP 的长连接和短连接本质上是TCP长连接和短连接。

HTTP/1.0 中,默认使用的是短连接。也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,结束就中断。

HTTP/1.1 起,默认使用长连接,用以保持连接特性。

 

大话HTTP3 -- HTTP协议的特性和使用方法

 

 

短连接:建立连接 - 数据传输 - 关闭连接 ... 建立连接 - 数据传输 - 关闭连接

长连接:建立连接 - 数据传输 ... (保持连接) ... 数据传输 - 关闭连接

 

 

 

 

 

 

 

 

 

 

 

 

1