知识链接:https://mp.weixin.qq.com/s/EaImrAazjur9SU9TT8fxbw
网络层协议
OSI 7层模型
应用层、表示层、会话层、传输层、网络层、链路层、物理层
TCP/IP四层模型
实际应用:OSI是理论模型,没有成熟产品,而TCP/IP已经成为国际标准
http协议
基于TCP/IP协议,规定客户端与服务器的通信格式,默认80端口
http请求头:
Request请求头:
GET /barite/account/stock/groups HTTP/1.1
QUARTZ-SESSION: MC4xMDQ0NjA3NTI0Mzc0MjAyNg.VPXuA8rxTghcZlRCfiAwZlAIdCA
DEVICE-TYPE: ANDROID
API-VERSION: 15
Host: shitouji.bluestonehk.com //指定服务器域名
Connection: Keep-Alive //keep-alive表示要求服务器不要关闭TCP连接,close表示明确要求关闭连接,默认值是keep-alive
Accept-Encoding: gzip
User-Agent: okhttp/3.10.0 //客户端标识,识别客户端的操作系统
Response格式:
HTTP/1.1 200 OK
Server: nginx/1.6.3
Date: Mon, 15 Oct 2018 03:30:28 GMT
Content-Type: application/json;charset=UTF-8 //服务器告诉客户端的数据格式
Pragma: no-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Encoding: gzip //服务器数据压缩方式
Transfer-Encoding: chunked //表示采用分块传输编码,有该字段则无需使用Content-Length字段。
Proxy-Connection: Keep-alive
tcp三次握手
建立连接的三次握手:
A 和 B 通信:
A ----> B:喂,能听到吗?//B收到信息可以确认A的发信能力和B的收信能力
B -----> A : 听得到,能听到我吗?//A收到信息可确认B的发信能力和A的收信能力
A ----> B: 听到了,我们可以说话了。//B收到信息可确认A的收信能力和B的发信能力
三次握手为了确认双发的发信能力和收信能力,才可开始通信。
断开连接的四次挥手:
https协议和ssl协议
http是风险:窃听、篡改、冒充
ssl协议:
加密通信信息
校验机制,内容一旦篡改,通信双发可发现
身份证书,防止身份被冒充
ssl证书
原理:采用公钥加密算法(RSA加密算法),客户端向服务器索要公钥,然后加密信息,
服务器收到密文,用私钥解密
一般需付费
rsa加密和dh加密
对称加密:双发使用同一加密规则进行加密解密
常见有:DES、AES
非对称加密:公钥公开,私钥保密,公钥加密,私钥解密,一般客户端用公钥加密,
服务器用私钥解密
常见有:RSA、DH、DSA、ECC
hash加密:
http和https对比
1.https协议需要到CA申请证书,大多数情况下需要一定费用
2.Http是超文本传输协议,信息采用明文传输,Https则是具有安全性SSL加密传输协议
3.Http和Https端口号不一样,Http是80端口,Https是443端口
4.Http连接是无状态的,而Https采用Http+SSL构建可进行加密传输、身份认证的网络协议,更安全。
5. Http协议建立连接的过程比Https协议快。因为Https除了Tcp三次握手,还要经过SSL握手。连接建立之后数据传输速度,二者无明显区别。
网友评论