一、常见的浏览器协议
1.FTP协议
- FTP(文件传输协议)是TCP/IP协议组之一,它由FTP服务器和FTP客户端组成,用户可以使用FTP客户端通过FTP协议访问FTP服务器资源。
- 默认情况下FTP协议使用TCP端口中的20和21两个端口,20端口用于传输数据,21端口用于传输控制信息。
- FTP协议支持两种模式–Port模式和Passive模式。具有两种传输方式–ASCII传输方式和二进制传输方式。
2.HTTPS协议
- 在http的基础上通过传输加密和身份认证的方式保证了传输过程的安全性。其安全基础是SSL。
- 使用https协议的客户端和服务器在进行数据传输时,会通过基于X.509证书对双方进行身份认证。
3.FILE协议
- file协议主要是在用户访问本地计算机文件过程发挥作用。
二、HTTP
1.熟悉HTTP报文
- http请求方法–https://www.runoob.com/http/http-methods.html 链接
- http状态码–https://www.runoob.com/http/http-status-codes.html 链接
- 请求报文中各属性的含义:
属性 | 含义 |
---|
User-Agent | 浏览器名称及版本 |
Host | 服务器地址 |
Cookie | 服务器给客户端的身份认证 |
X-Frame-Options | 指示一个页面可否在 < frame>, </ iframe> 或者 < object> 中展现 |
- 响应包中各属性的含义:
属性 | 含义 |
---|
Server | 服务器名称及版本 |
Content-Type | 响应正文的类型 |
HttpOnly | 指示客户端脚本是否可以访问cookie |
2.了解Base64编码
- Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3x8 = 4x6 =
24),然后把6Bit再添两位高位0,组成四个8Bit的字节,转换后的字符串理论上将要比原来的长1/3。
- 转前 s 1 3 //3个字节,一个字节占8位
- 先转成ascii 对应 115 49 51
- 3组2进制 01110011 00110001 00110011
- 拆成4组 011100 110011 000100 110011
- 高位补2个0得 00011100 00110011 00000100 00110011
- 得到10进制数 28 51 4 51
- 查对下照表 c z E z
3.简述HTTPS和HTTP的区别和联系
- https://blog.youkuaiyun.com/whatday/article/details/38147103 链接
4.公钥加密到CA和SSL证书
1)公开密钥加密的概述
- 公开密钥加密 == 非对称性加密 (发送方和接收方采用不同的key)
- 公开密钥加密有2个应用,其一是加密通信,其二是数字签名。其安全性基于数学原理,但是不能由公钥算出私钥,所以加密算法都是基于一些目前无解的数学问题。
2)加密通信
- 加密通信,是采用公钥加密,私钥解密。
- 加密通信就是发送者(客户端)用接收者(服务器)的公钥去加密信息,接收者用自己的私钥去解密信息。
- 加密通信的过程如下:
服务器首先生成2个密钥,包括一个公钥,一个私钥,其中私钥可以算出公钥。然后服务器吧公钥发送给客户端,客户端通过公钥加密自己要发给服务器的数据,服务器拿到加密的数据后,用私钥解密。
3)数字签名
- 数字签名,是采用私钥加密,公钥解密。
- 私钥加密过程是通过签名算法来生成数字签名,公钥解密过程是通过验证算法来确定数字签名是不是私钥签署的。
- 数字签名就是发出信息的人(有公钥和私钥),用自己的私钥签署信息即可生成一段数据,这段就是数字签名。将公钥公开后,拥有公钥的人就可以解密数字签名,来确认信息是不是由私钥持有人发出的。
- 数字签名有三个作用,认证、防止抵赖、保证文件完整性。
4)数字证书
- 数字证书是一个由可信的第三方发布的用来证明身份以及拥有这个公钥的电子文件。
- 证书上同时带有所有人(持有人)信息和公钥以及数字签名,数字签名保证了证书是不可篡改的。该证书就绑定了所有人和公钥之间关系。
5)CA和SSL
- CA是证书的签发机构,是一个负责签发,管理,认证已颁发的证书的机构。由CA颁发的证书都称为CA证书,SSL证书是CA证书的一种。
- SSL证书是使用于HTTPS条件下的数字证书,其作用是验证服务器的身份。
- 过程如下:
服务器首先到CA机构申请SSL证书,然后给访问者发送SSL证书,浏览器认证了SSL证书的真实性后生成密钥发送给服务器,这时服务器和客户端同时拥有一个密钥,通信过程采用对称加密的方式。(对称加密比非对称加密的效率高)
5.ip属性
1.HTTP_VIA = 代理服务器 IP
- Via是HTTP协议的通用头域,通过代理和网关记录http请求,每经过一个代理服务器,就添加一个代理服务器的信息。
2.HTTP_X_FORWARDED_FOR=真实ip
- X-forwarded-for(XFF)是用来识别,通过HTTP代理或负载均衡方式连接到Web服务器的,客户端最原始IP地址的HTTP请求头字段。在代理转发及反向代理中,经常使用X-forwarded-for字段。
3.HTTP_CLIENT_IP=客户端IP
- X-client-ip用来获取当前请求的客户端ip地址。