文章目录:
IOS开发 如何维持会话?通过sessionId吗
IOS的网络开发和其他平台的网络开发底层的原理都一样。只是API是它自己实现的,需要开发人员去熟悉使用。
你问题中涉及到了HTTP request方面的,从reponse里面获得sessionId,自己保存起来,后面与服务器交互的时候就把sessionId加入到request里面去。
关于IOS网络开发,用那些类库,怎么使用这么些类库,你可以去我的“百度空间”看我写的文章。里面有更详细的介绍。
服务器的ssl会话缓存 可以被刷新吗
为什么在服务器负载非常重的时候会出现随机性的SSL协议错误?
可能有多种原因,但是最可能的原因是由于将SSLSessionCache指定为使用DBM会话缓存所致。因此,使用SHM会话缓存或者根本不使用SSL会话缓存有助于解决这个问题。
为什么服务器在处理SSL加密连接的时候负载会很重?
SSL使用的强加密算法需要消耗大量CPU资源进行大数运算。当你通过HTTPS访问一个页面时,每一个元素(包括图片和多媒体资源)都会被加密传输。所以,HTTPS流量越大,负载就会越重。
为什么在使用HTTPS协议的情况下,有时候需要花上30秒才能建立一个连接?
这通常是由于在使用read(2)读取SSLRandomSeed指定的/dev/random设备时,设备暂时无法提供足够多的随机位,操作被一直阻塞所致。更多细节可以参考手册中对SSLRandomSeed指令的详细说明。
mod_ssl支持哪些SSL加密算法?
通常,所有OpenSSL支持的SSL加密算法mod_ssl都支持,具体取决于你的OpenSSL是怎样编译的。可以使用下面的命令列出实际究竟可以使用哪些加密算法:
$ openssl ciphers -v
为什么使用匿名Diffie-Hellman(ADH)算法时会收到"no shared cipher"错误?
默认情况下,出于安全原因,OpenSSL并不启用ADH算法。仅在你确实明白了这个算法的副作用时,你才可以启用此算法。
为了使用匿名Diffie-Hellman(ADH)算法,你必须在编译OpenSSL时使用"-DSSL_ALLOW_ADH"配置选项,并在SSLCipherSuite指令中添加"ADH"。
为什么连接到新安装的Apache-SSL服务器时会收到"no shared ciphers"错误?
或者是SSLCipherSuite指令配置错误(你可以和预配置的httpd.conf-dist比 对一下);或者是你在生成私钥的时候使用了DSA/DH算法而不是RSA,并且忽略了警告信息。如果使用了DSA/DH的话,那么你的服务器就不能使用基 于RSA的SSL加密算法进行通信(至少直到你配置了一个额外的RSA证书/密钥对为止)。现在的浏览器,比如NS或IE只能和使用RSA加密算法的 SSL服务器通信,这也是导致"no shared ciphers"错误原因之一。解决这个错误的最佳途径就是使用RSA算法重新生成服务器证书和密钥对。
为什么不能在基于域名的虚拟主机上使用SSL?
原因很技术化,有点类似于"鸡和蛋"的问题。SSL协议层位于HTTP协议层之下,HTTP协议是被封装在SSL协议中的,当一个SSL连接 (HTTPS)请求到来的时候,Apache/mod_ssl必须和客户端协商SSL协议参数(握手),所以,mod_ssl必须查看虚拟主机的配置信息 (例如允许使用哪些加密算法、服务器证书是哪个等等),然后才能完成SSL会话通道的建立;但另一方面,为了确切知道究竟应该查看哪个虚拟主 机,Apache又必须知道HTTP请求头的Host字段的内容,而这在完成SSL握手之前是不可能知道的。
为什么不可以使用基于域名的虚拟主机来标识不同的SSL虚拟主机?
基于域名的虚拟主机是用来标识不同虚拟主机的流行方法。这种方法允许多个不同的站点使用同一个IP地址和端口对。当人们将站点转移到SSL时,很自然的就认为可以使同相同的办法在同一台机器上运行多个SSL虚拟主机。
但事实是:没门!
原因在于SSL协议层位于HTTP协议层之下,HTTP协议是被封装在SSL协议中的,所以SSL会话必须在HTTP会话之前建立。因为在建立SSL会话的最初握手阶段,服务器无法知道HTTP请求头的Host字段的内容,也就无法确定究竟使用哪个虚拟主机的配置(例如允许使用哪些加密算法、服务器证书是哪个等等),于是Apache就会使用匹配这个IP地址端口对的第一个主机的SSL配置。
当然,你也可以在同一个IP地址上使用基于域名的虚拟主机来标识多个非SSL虚拟主机(例如全运行在80端口),同时再运行一个SSL虚拟主机(例如在443端口)。不过如果你确实这么做了的话,一定要确保在NameVirtualHost指令里明确指定端口号,像这样:
NameVirtualHost 192.168.1.1:80
另外一个解决方案:为不同的SSL虚拟主机使用不同的IP地址端口对。
如何启用SSL压缩?
虽然SSLv2和TLS规范定义了SSL压缩协商,但是直到2004年5月,RFC 3749才将DEFLATE定义为可协商的压缩方法。
从0.9.8版本开始,如果编译时使用了zlib选项,那么OpenSSL将默认支持SSL压缩。如果客户端和服务器同 时支持压缩,那么压缩将被启用。但是,当前的大多数客户端仍然会在建立SSL会话的最初尝试使用SSLv2,而SSLv2在握手阶段并不协商压缩算法,所 以对于使用SSLv2的客户端,实际上是无法使用压缩的。如果客户端使用SSLv3或TLS建立连接,那么就可以启用压缩。你可以使用%{SSL_COMPRESS_METHOD}x变量在日志中记录客户端是否利用了压缩功能。
当我通过HTTPS使用基本认证的时候,Netscape浏览器状态栏上的锁图标处于打开状态,这是否意味着我的用户名和密码是明文传递的?
非也!你的用户名和密码依然是加密传输的。浏览器上的图标事实上并没有和SSL/TLS同步,它仅在开始实际传输web页面的时候才锁上,这会给用 户带来一些困惑。基本认证是HTTP层的特性,而HTTP层位于SSL层之上(所以被称为HTTPS),所以任何HTTP会话开始之前,SSL层已经完成 握手并建立了加密信道。所以不要被这个图标所迷惑。
什么叫缓存服务器
缓存服务器用来存储网络上的其他用户需要的网页,文件等等。这种服务器不仅可以使用户得到他们想要得信息,而且可以减少网络的交换量。缓存服务器往往也是代理服务器。对于网络的用户,缓存服务器和代理是不可见的,在用户看来所有的信息都来自访问的网站。
什么是服务器加速技术
Intel NetStructure 网擎7175/7185
英特尔网擎7175网络应用负载均衡器使用有效的第七层应用进行智能内容决策的制定,对交付进行优先级划分,从而平衡了通信负载并优化了服务器群的性能。该产品可进行第四层至第七层应用/内容流量控制,使用基于实际响应时间的负载均衡进行通信管理,还可检测HTTP400、500和600系列错误,并透明地将通信重新导向至另一台服务器。自动服务器故障切换和冗余特性可以让通信绕过故障点,从而使站点始终保持开放状态。
英特尔网擎7185网络智能负载均衡器可以实现安全快速的流量管理并提供SSL加速。它采用机架安装式设计,可以被轻而易举地安装在路由器和服务器群之间。支持安全交易的智能管理技术,同时支持内容驱动处理与优先级划分的第4层到第7层识别。该产品支持SSL环境中的cookies,确保交易安全;可以将处理速度提高到每秒钟多达1200个SSL连接,提高安全交易的响应速度。
Alteon ACEdirector
ACEdirector可同时支持第2、3以及4至7层上的交换。与传统数据包交换机不同,ACEdirector 在高性能以太网交换机内结合了独有的流量管理服务,为每秒转发数十万个Web会话而进行了优化。本地和全局服务器负载平衡、应用程序重定向、SSL负载平衡、基于URL的重定向和负载平衡以及高级 TCP/IP 过滤功能等,都集成在同一个ACEdirector中。ACEdirector能够以惊人的速度转发Web会话,每秒可处理高达200,000个会话的负载平衡。
高速缓存产品
联想 iCache 2000
联想iCache是系列产品,拥有从入门级到高端的各级产品。iCache2000定位于中端产品,面向用户为中型企业、中型ISP/ICP、科研机构等,它所能承载的每秒点击数是800次。iCache使用简单,借助Novell公司特有的高速缓存文件系统,可以很大程度上加速在企业中或ISP基础设施中、在Internet上向员工和商业合作伙伴及客户提供Internet和Intranet内容的访问速度,一方面提高用户网上交易的效率,同时也极大地降低了用户的上网费用和ISP、ICP的运营成本。
CacheFlow 5000
CacheFlow拥有针对从中小企业到ISP的各级互联网加速器,其中CacheFlow 5000是电信级互联网加速器。它最高可以支持到T3或OC3的流量,同时也是目前系列中扩展性最强的高速缓存设备。CacheFlow 5000内置有CacheFlow公司专为互联网加速设计的操作系统CacheOS,可以保证用户在现有网络条件下以最快的速度获取到最新、最即时的网上信息。
SSL加速产品
Intel NetStructure 网擎7115
英特尔网擎7115 SSL加速器每秒能处理多达600个安全连接,提高了SSL处理能力。可以使用串行连接端口直接管理设备或通过Telnet或SSH进行远程管理。可利用事件监视功能察看主要的设备指标,如SSL每秒连接速率,并接收时间告警,如加密状态改变、被拒绝的SSL连接、阈值告警、过载告警及网络链接。随着商业网站通信量的增长,该产品还支持多个单位级联在一起进行扩充。故障切换直通技术使英特尔网擎7115 SSL加速器能够自动关闭服务,并根据情况切断SSL功能,使与之连接的其他单元或服务器接替其工作,以实现不间断的服务。
Alteon iSD-SSL
iSD-SSL是业界性能较高的安全套接层处理引擎,一台Alteon Web交换机和一个或多个iSD-SSL单元成对组合在一起,能每秒钟完成400到12,000个安全套接层的会话,这种处理量是一台HTTP-S服务器所能处理的5到250倍。能在本地服务器卸载SSL处理,从而能智能地对安全的电子交易加速,最终在同一个数据通路中对其它的流量没有耽搁。
带宽管理器
Intel NetStructure网擎7370
英特尔网擎7370应用带宽管理器支持关键应用,调整非关键应用,以使性能满足应用服务级协议(ASLA)的要求。针对每应用、基于政策的带宽分配与通信调节使用户能够监视、测量和跟踪应用及网络性能。服务分界点减少了用于诊断非服务提供商负责问题的时间。基于Web的界面可以使用户利用标准互连网浏览器即可从任何地方配置、控制和监视SLA和应用性能。
综合
Cisco CSS-11000系列
Cisco CSS系列交换机可以根据完整的URL、Cookie及资源可用性信息选择最佳的站点和服务器,提供高速智能Web内容交付;具有防火墙负载均衡功能,可为后台数据库和应用系统提供可伸缩的安全保护。透明Cache代理、反向Cache代理及智能Cache旁路功能可使Web高速缓存效率提高400%。Cisco CSS配备了Cisco WebNS软件,在分配Web站点资源和实现最佳电子商务等方面为企业提供完善的解决方案。
Cisco CSS系列交换机有CSS11050、CSS11150、CSS 11800多种型号,可满足各级数据中心、电子商务网站的需要。
Internet Appliance Enterprise Stack
IA公司的INTERNETpro Enterprise Stack系列是面向互联网数据中心的低成本Web服务基础设施解决方案。其中的企业指导堆栈(EDS)具有负载均衡、系统和应用故障接替、状态监视等功能。企业缓存堆栈(ECP)具有两个内置的10/100M以太端口和透明的代理服务器,可充分利用带宽,加速内容传递。缓存堆栈将经常访问的网页存储在网络边缘(POP),使原本遥远的内容更接近用户,从而大大提高了Web冲浪的速度。
标准互连网浏览器即可从任何地方配置、控制和监视SLA和应用性能。 综合 Cisco CSS-11000系列 Cisco CSS系列交换机可以根据完整的URL、Cookie及资源可用性信息选择最佳的站点和服务器,提供高速智能Web内容交付;具有防火墙负载均衡功能,可为后台数据库和应用系统