1 http协议
1.1 概念
服务器和客户端进行数据交互的一种形式。
1.2 常用请求头信息
1.2.1 User-Agent: 请求载体的身份标识
1.2.2 Connection: 请求完毕后,是保持连接还是断开连接
1.3 常用响应头信息
1.3.1 Content-Type: 服务器响应回客户端的数据类型
1.4 url的形式
http://<host>:<port>/<path>?<searchpart>
http:// - 协议
<host> - 域名->主机
:<port> - 如果:<port>部分省略,那么就使用缺省的端口80
<path>是一个HTTP选择器,<searchpart>是查询字符串。<path>,<searchpart>和它前面的“?”都是可选择的。如果<path>和<searchpart>部分都没有,则“/”也可以省略。<path>和<searchpart>部分中的“/”,“;”和 “?”都是保留字符。“/”字符可以在HTTP中用来表示层次结构。
1.5 ping
ping用于确定本地主机是否能与另一台主机成功交换(发送与接收)数据包,再根据返回的信息,就可以推断TCP/IP参数是否设置正确,以及运行是否正常、网络是否通畅等。
2 https协议
2.1 概念
安全的超文本传输协议。
2.2 加密方式
2.2.1 对称加密
共享密钥加密,客户端和服务器公用一个密钥用来对消息进行加密和解密。
客户端在发消息前用该密钥对消息进行加密,发送给服务器后,服务器再用该密钥进行解密拿到消息。
对称密钥中因为客户端和服务器共享一个密钥,因此密钥容易泄露,无法保证消息来源的可靠性和消息的完整性和准确性。
2.2.2 非对称加密
公有密钥加密,客户端和服务器均拥有一个公有密钥和一个私有密钥。公有密钥可以对外暴露,私有密钥只有自己可见。
使用公有密钥加密的消息,只有对应的私有密钥才能解开。使用私有密钥加密的消息,只有公有密钥才能解开。这样客户端在发送消息前,先用服务器的公钥对消息进行加密,服务器收到后再用自己的私钥进行解密。
保证了消息来源的可靠性和消息的完整性和准确性。
非对称加密需要使用到接收方的公匙对消息进行加密,但是公匙是不保密的,任何人可以拿到,中间人也可以。那么中间人可以做两件事情,第一件是中间人可以在客户端与服务器交换公匙的时候,将客户端的公匙替换成自己的。这样服务器拿到的公匙将不是客户端的,而是服务器的。服务器也无法判断公匙来源的正确性。第二件是中间人可以不替换公匙,但是他可以截获客户端发来的消息,然后篡改,用服务器的公式加密再发往服务器,服务器将收到错误的消息。
非对称加密的性能相对对称加密慢几倍甚至上百倍,比较消耗系统资源,因此,https将两种加密结合起来。
2.2.3 证书密钥加密
数字证书和数字签名可以解决非对称加密中公匙来源的不安全性。
服务器可以向专门颁发数字证书的权威机构(CA Certificate Authority认证中心)申请数字证书。