加入收藏 | 设为首页 | 会员中心 | 我要投稿 焦作站长网 (https://www.0391zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

HTTP协议详解_动力节点Java学院整理

发布时间:2020-03-13 02:55:07 所属栏目:安全 来源:站长网
导读:这篇文章主要介绍了HTTP协议详解,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器

Response = MD5( "939e7578ed9e3c518a452acee763bce9:
                         dcd98b7102dd2f0e8b11d0f600bfb0c093:
00000001:0a4f113b:auth:
39aff3a2bab6126f332b942af96d3366" )
= 6629fae49393a05397450978507c4ef1

此时客户端可以提交一个新的请求,重复使用服务器密码随机数(nonce)(服务器仅在每次“401”响应后发行新的nonce),但是提供新的客户端密码随机数(cnonce)。在后续的请求中,十六进制请求计数器(nc)必须比前一次使用的时候要大,否则攻击者可以简单的使用同样的认证信息重放老的请求。由服务器来确保在每个发出的密码随机数nonce时,计数器是在增加的,并拒绝掉任何错误的请求。显然,改变HTTP方法和/或计数器数值都会导致不同的 response值。

服务器应当记住最近所生成的服务器密码随机数nonce的值。也可以在发行每一个密码随机数nonce后,记住过一段时间让它们过期。如果客户端使用了一个过期的值,服务器应该响应“401”状态号,并且在认证头中添加stale=TRUE,表明客户端应当使用新提供的服务器密码随机数nonce重发请求,而不必提示用户其它用户名和口令。

服务器不需要保存任何过期的密码随机数,它可以简单的认为所有不认识的数值都是过期的。服务器也可以只允许每一个服务器密码随机数nonce使用一次,当然,这样就会迫使客户端在发送每个请求的时候重复认证过程。需要注意的是,在生成后立刻过期服务器密码随机数nonce是不行的,因为客户端将没有任何机会来使用这个nonce。

PS:以上只介绍了两种比较基础的,还有其他的一些认证方式就不在这里一一说明了。

十三、HTTPS传输协议原理

HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容请看SSL。

两种基本的加解密算法类型

对称加密:密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES、AES等。

非对称加密:密钥成对出现(且根据公钥无法推知私钥,根据私钥也无法推知公钥),加密解密使用不同密钥(公钥加密需要私钥解密,私钥加密需要公钥解密),相对对称加密速度较慢,典型的非对称加密算法有RSA、DSA等。

HTTPS通信过程

HTTP协议详解_动力节点Java学院整理

HTTPS通信的优点

客户端产生的密钥只有客户端和服务器端能得到;

加密的数据只有客户端和服务器端才能得到明文;

客户端到服务端的通信是安全的。

http的状态响应码

1**(信息类):表示接收到请求并且继续处理

100——客户必须继续发出请求

101——客户要求服务器根据请求转换HTTP协议版本

2**(响应成功):表示动作被成功接收、理解和接受

200——表明该请求被成功地完成,所请求的资源发送回客户端

201——提示知道新文件的URL

202——接受和处理、但处理未完成

203——返回信息不确定或不完整

204——请求收到,但返回信息为空

205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件

206——服务器已经完成了部分用户的GET请求

3**(重定向类):为了完成指定的动作,必须接受进一步处理

300——请求的资源可在多处得到

301——本网页被永久性转移到另一个URL

302——请求的网页被转移到一个新的地址,但客户访问仍继续通过原始URL地址,重定向,新的URL会在response中的Location中返回,浏览器将会使用新的URL发出新的Request。

303——建议客户访问其他URL或访问方式

304——自从上次请求后,请求的网页未修改过,服务器返回此响应时,不会返回网页内容,代表上次的文档已经被缓存了,还可以继续使用

305——请求的资源必须从服务器指定的地址得到

306——前一版本HTTP中使用的代码,现行版本中不再使用

307——申明请求的资源临时性删除

4**(客户端错误类):请求包含错误语法或不能正确执行

400——客户端请求有语法错误,不能被服务器所理解

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

HTTP 401.1 - 未授权:登录失败

  HTTP 401.2 - 未授权:服务器配置问题导致登录失败

  HTTP 401.3 - ACL 禁止访问资源

  HTTP 401.4 - 未授权:授权被筛选器拒绝

HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败

402——保留有效ChargeTo头响应

403——禁止访问,服务器收到请求,但是拒绝提供服务

HTTP 403.1 禁止访问:禁止可执行访问

  HTTP 403.2 - 禁止访问:禁止读访问

  HTTP 403.3 - 禁止访问:禁止写访问

  HTTP 403.4 - 禁止访问:要求 SSL

  HTTP 403.5 - 禁止访问:要求 SSL 128

  HTTP 403.6 - 禁止访问:IP 地址被拒绝

  HTTP 403.7 - 禁止访问:要求客户证书

  HTTP 403.8 - 禁止访问:禁止站点访问

  HTTP 403.9 - 禁止访问:连接的用户过多

  HTTP 403.10 - 禁止访问:配置无效

  HTTP 403.11 - 禁止访问:密码更改

  HTTP 403.12 - 禁止访问:映射器拒绝访问

  HTTP 403.13 - 禁止访问:客户证书已被吊销

  HTTP 403.15 - 禁止访问:客户访问许可过多

  HTTP 403.16 - 禁止访问:客户证书不可信或者无效

HTTP 403.17 - 禁止访问:客户证书已经到期或者尚未生效

404——一个404错误表明可连接服务器,但服务器无法取得所请求的网页,请求资源不存在。eg:输入了错误的URL

405——用户在Request-Line字段定义的方法不允许

406——根据用户发送的Accept拖,请求资源不可访问

407——类似401,用户必须首先在代理服务器上得到授权

408——客户端没有在用户指定的饿时间内完成请求

409——对当前资源状态,请求不能完成

410——服务器上不再有此资源且无进一步的参考地址

411——服务器拒绝用户定义的Content-Length属性请求

412——一个或多个请求头字段在当前请求中错误

413——请求的资源大于服务器允许的大小

414——请求的资源URL长于服务器允许的长度

415——请求资源不支持请求项目格式

416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段

417——服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求长。

5**(服务端错误类):服务器不能正确执行一个正确的请求

HTTP 500 - 服务器遇到错误,无法完成请求

  HTTP 500.100 - 内部服务器错误 - ASP 错误

  HTTP 500-11 服务器关闭

  HTTP 500-12 应用程序重新启动

  HTTP 500-13 - 服务器太忙

  HTTP 500-14 - 应用程序无效

  HTTP 500-15 - 不允许请求 global.asa

  Error 501 - 未实现

HTTP 502 - 网关错误

(编辑:焦作站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读