HTTP代理服务器能代理HTTPS通信吗?

pzf_2008 2011-09-06 11:09:14
我架设了一个HTTP代理服务器,HTTP网页通过代理均能够正常访问。

但我访问https://www.icbc.com.cn/,也能够正常登陆访问。为什么HTTPS网页通过HTTP代理也能够访问呢?请指点!
...全文
7679 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoumingongheguo 2013-11-05
  • 打赏
  • 举报
回复
不信你可以自己写一个简单服务器试试,如果你用的是httplistener 那么你就会发现可以ssl协议的相关操作,说明ssl协议已经被实现了。如果你用tcplistener 或者socket 做服务器监听,你就会接收到一些数据,如果你回应的数据没有按照协议的格式,httpwebrequest的客户端就会报协议冲突的错误。所以说用tcplistener 或者socket 做服务器监听 做网页通信的话 ,http还算简单不用考虑ssl协议,如果要做https就麻烦了,ssl协议比较复杂可以自己去收索资料很多。所以最好是用已经封装了协议的httplistener 做服务器监听。用已经写好了的服务器就像你那样有那么多的疑问了,有疑问可以自己器探索求证,做实验,我也是很不解才去查资料做测试实验的。分析协议格式最好是查资料然后自己用工具抓取网络包对照研究就清楚多了。
zhoumingongheguo 2013-11-05
  • 打赏
  • 举报
回复
别乱猜测,由于http通信就有ssl协议,服务器端用的httplistener封装了ssl协议,只是你用http的时候他就不用ssl协议,当你的请求是https时,他就会自动用ssl协议和http协议了。https和http中间就多了个ssl协议,httpwebrequest 和httplistener 等类都是专门为网页通信开发的。而http和https都属于网页通信。想了解可以去查些http协议和ssl协议的相关信息,比较详细。如果你用socket 或者tcp自己写服务器的话也能实现代理,不过要自己实现ssl协议,很麻烦。而你用的服务器是一件实现好了的。
  • 打赏
  • 举报
回复
代理只是一个连接通道
先连接http代理服务器,然后发送加密的https链接的数据,不就行了么?
关键看客户端。
pzf_2008 2011-09-06
  • 打赏
  • 举报
回复
客户端就是浏览器!

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧