看这个社区很长时间了,今天想正式的记录下自己的一些工作的DD。
某会移动中间层Server,Server是为Mobile Client提供服务的应用,那么工作中用的到的Server通常部署2套,唯一区别是一个是http另一个是https。Mobile Client请求登录、注册api采用的https方式,而其他大部分的请求接口使用的是http,为了防止安全亦采用post方式。
那么问题来了,http与https有什么区别?post、get、put什么不同?
在云栖上看到这篇干货
http(Hypertext Transfer protocol)服务特点:
1.基于B/S 模式,即客户/服务器模式,http是在七层网络模型中的应用层的协议,http增加SSL层,可提供安全的https服务(Hypertext Transfer Protocol Secure)。
2.请求路径和方法:通信开销小,简单快速,传输成本低。服务器请求某些一定的服务时,浏览者通常只需在请求报文中添加请求路径和方法。最一般的情形,例如GET、HEAD、POST等。
3.传输格式由Content-Type标识,允许服务器和客户端传输任意类型或者任意数据结构的数据对象。
4.节省传输时间:最初版本的HTTP协议使用非持续连接,只允许发送并处理一个连接,当请求响应完成,也就是服务器完成客户端的请求,同时收到了客户端浏览器的应答后,连接会立即断开。有了这种特点,通信方式节省了大量用于数据传输和等待应答的时间,时间成本变得非常小。
同时,高版本HTTP协议,HTTP 1.1支持持续连接:多个对象可以通过一个连接可传送,不需要每次传输一个web对象就去创建一个新的连接。
5.可能影响传输效率,无状态:HTTP协议是无状态协议,这个主要体现不能存储状态数据,那么后面的请求可能需要前一请求的数据,只能多次请求,但是在服务器端,每个HTTP请求都要启动独立的线程去处理,减少Http请求的数目可以有效提高访问性能。
感觉http这些基本特点总结的很到位,
HTTP协议的工作原理描述的是服务端口监听请求,具体怎么样监听,还不是很清楚。
HTTP请求可以使用多种不同的请求方法,HTTP1.1允许支持七种请求方法(也叫“动作”):GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE,他们有哪些区别没介绍,比如post与put有啥不一样。
握手过程的简单描述中b,c看起来有些拗口,3次握手过程还要仔细研究下,总述的这句很清楚:
“其中非对称加密算法用于在握手过程中加密生成的密码,对称加密算法用于对真正传输的数据进行加密,而HASH算法用于验证数据的完整性。”
这篇文章介绍的http、https还是很详细,相对易懂的。
目前,baidu google yunqi转向全站https连接,京东、亚马逊等仅仅是在登录或交易页面启用了https,https只会是个趋势。