HTTP协议是什么?HTTP协议认证介绍

什么是HTTP基本认证

桌面应用程序也通过HTTP协议跟Web服务器交互, 桌面应用程序一般不会使用cookie, 而是把 "用户名+冒号+密码"用BASE64算法加密后的字符串放在http request 中的header Authorization中发送给服务端, 这种方式叫HTTP基本认证(Basic Authentication)

当浏览器访问使用基本认证的网站的时候, 浏览器会提示你输入用户名和密码,如下图



假如用户名密码错误的话, 服务器会返回401 如下图



HTTP基本认证的过程

第一步: 客户端发送http request 给服务器,

第二步: 因为request中没有包含Authorization header, 服务器会返回一个401 Unauthozied给客户端,并且在Response的 header "WWW-Authenticate" 中添加信息。



第三步:客户端把用户名和密码用BASE64加密后,放在Authorization header中发送给服务器, 认证成功。

第四步:服务器将Authorization header中的用户名密码取出,进行验证, 如果验证通过,将根据请求,发送资源给客户端



使用Fiddler Inspectors 下的Auth 选项卡,可以很方便的看到用户名和密码:



HTTP基本认证的优点

HTTP基本认证,简单明了。Rest API 就是经常使用基本认证的。

每次都要进行认证

http协议是无状态的, 同一个客户端对 服务器的每个请求都要求认证。

HTTP基本认证和HTTPS

把 "用户名+冒号+密码" 用BASE64加密后的string虽然用肉眼看不出来, 但用程序很容易解密,上图可以看到Fiddler就直接给解密了。 所以这样的http request在网络上,如果用HTTP传输是很不安全的。 一般都是会用HTTPS传输,HTTPS是加密的,,所以比较安全。

HTTP OAuth认证

OAuth对于Http来说,就是放在Authorization header中的不是用户名密码, 而是一个token。

微软的Skydrive 就是使用这样的方式, 如下图:



其他认证

除了基本认证(Basic Authentication), 还有摘要认证digest authentication, WSSE(WS-Security)认证

客户端的使用

客户端如果要跟“使用基本认证的网站”交互。 非常很简单,把用户名密码加在Authorization header中就可以了。

C#

string url = "https://testsite"; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); NetworkCredential nc = new NetworkCredential("username", "password"); req.Credentials = nc;

Linux下的curl

curl -u username:password https://testsite/

(0)

相关推荐

  • 网络协议是什么?网络协议三要素是什么?

    本文向大家详细介绍网络协议是什么以及网络协议三要素是什么的基础知识,不懂的朋友可以通过本文了解学习! 网络协议是什么 网络协议的定义:为计算机网络中进行数据交换而建立的规则、标准或约定的集合。 一个网 ...

  • 广域网协议中的重点协议

    广域网协议是相对于局域网协议而说的,互联网我们就可以认定为是广域网。那么它相关的协议也就很好理解了。跟OSI模型是分不开的。下面我们来说几个典型的协议。给大家作为参考。 广域网协议是在OSI参考模型的 ...

  • 网络协议之STP(生成树协议)选举过程

    生成树协议的定义 生成树算法的网桥协议STP(Spanning Tree Protocol) 它通过生成生成树保证一个已知的网桥在网络拓扑中沿一个环动态工作。网桥与其他网桥交换BPDU消息来监测环路, ...

  • 网络协议之内部网关协议OSPF

    要想认识OSPF首先得区分OSPF于RIP的不同,有很多人都搞不清楚两者之间的关系与区别,下面我们先从定义来看看他们的区别。 OSPF(Open Shortest Path First开放式最短路径优 ...

  • Wireshark怎么让协议高亮显示? Wireshark设置协议颜色的教程

    Wireshark在不同的协议会想要设置不同的颜色以便于区分,该怎么设置协议的颜色呢?下面我们就来看看详细的教程. 1.打开Wireshark,选择一个协议行,右键单击,选择第一个选项即可进行高亮显示 ...

  • 抖音认证加V全流程详细教程代认证介绍使用

    最近有很多朋友知道抖音怎么认证加V,让自己的账号拥有大V的标志,看起来更有逼格.那么接下来小编就介绍一下抖音认证加V的方法. 抖音认证加V流程: 01 如果有用户想要在抖音中认证加V,那么就需要先去绑 ...

  • TP-link路由器的TCP/IP协议详细介绍

    一、TCP/IP协议集把整个网络分成四层,包括网络接口层、网际层、传输层和应用层。 1、网络接口层,网络接口和各种通信子网接口,屏蔽不同的物理网络细节。 (1)ARP协议:地址解析协议,实现IP地址向 ...

  • 常见的无线网络协议介绍 全面认识无线网络协议的作用

     虽然大家对于网络方面已经很熟悉了,但是大家对于无线网络协议又了解多少,知道无线网络协议都有哪些,他们的各自的作用是什么吗?本文小编就带着我们进行了解网络协议的特性,希望对大家在网络知识方面有所帮助。 ...

  • PPP协议概念及鉴权方式概述

    PPP(Point-to-Point Protocol点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或 ...