• http协议了解


    HTTP(HyperText TransportProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。

    通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个指示头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。

    主要还得记得http中Status-Code的第一个数字定义响应的类别,后两个数字没有分类的作用。第一个数字可能取5个不同的值:

    • 1xx:信息响应类,表示接收到请求并且继续处理

    • 2xx:处理成功响应类,表示动作被成功接收、理解和接受

    • 3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理

    • 4xx:客户端错误,客户请求包含语法错误或者是不能正确执行

    • 5xx:服务端错误,服务器不能正确执行一个正确的请求

    HTTPS:

    1.1原理

    A.就是在http加入SSL层,是http安全的基础;
    B.htts协议是在http基础上加了SSL协议;
    C.使用443端口,http是80端口;
    D.由网景公司开发并内置在浏览器中

    1.2作用

    A.建立一个信息安全通道,来保证数据传输的安全;
    B.确认网站的真实性,可以查看网站认证的真实性

    1.3核心是SSL层

    A.位置:是一个安全套层,是介于TCP?IP之间;
    B.分类:
    SSL记录协议:建立在TCP之上,为数据提供数据封装、压缩、加密;
    SSL握手协议:建立在记录之上,数据传输之前双方的身份验证、协商加密算法、交换密钥;
    C.SSL服务器认证过程:
    客户端发送请求
    服务器判断是否需要生成新主密钥,需要则返回
    客户端收到信息,产生一个主密钥,并用公钥加密传输
    服务器恢复该主密钥,并返回一个认证信息

    1.4 SSL协议

    A.SSL协议包括:握手(凭证交换和验证)和记录协议(数据进行加密);
    B.SSL握手协议过程:
    1.客服端发送SSL的版本号,算法种类,产生的随机数等;
    2.服务器发送服务器的SSL协议的版本号,算法种类和证书(里面有公钥);
    3.客服端验证;
    4.验证通过随机产生对称密码,公钥加密产生预主密码,传输给服务器;
    5.服务器可以要求验证身份,包括客户证书和签名随机数;
    6.验证通过:服务器用私钥解开密码,对称密钥产生;
    7.客服端发信息确认后面数据采用该通讯;
    8.服务器端回应;
    C.整个过程涉及到3次请求,3次响应

    2.SSH

    2.1 概念

    非对称性加密,包括传输层,用户认证和连接协议

    2.2 原理

    A. 在a计算机中产生一对公钥和私钥
    B. 私钥不动,把公钥发送给计算机b,公钥很复杂,就算过程被窃取,第三方不懂什么意思
    C. a和b首次进行尝试通讯,a发送的内容通过a存放的私钥进行加密,在网络中进行密文件传输
    D. b也会对该端内容使用公钥解密,如果能两台计算机就结成亲密关系
    E. 以后a和b发送消息用私钥和公钥进行数据加密解密操作

    2.3 应用

    比较常见一个应用是和github建立一个友好关系
    A. 本地生成密钥:ssh-keygen -t rsa
    B. 密钥生成再c盘,将公钥方法github中,然后下次通讯就可以用SSH通讯
    使用ssh连接gitHub https://www.cnblogs.com/yzg1/p/5773362.html

    3.MD5

    3.1.概念

    信息摘要算法

    3.2.特性

    A. MD5加密输出是32位字符串;
    B. 相同的内容使用MD5加密后,得到的内容一样的;
    C. MD5无法反向解密,唯一就是暴力碰撞破解(就是试32位密码);
    D. 为了防止暴力破解,可以加盐处理;
    E. 这个应该就是前端用的比较多的对数据加密的方式

    3.3.使用方法:

    A.下载 npm i -S blueimp-md5;
    B.引包
    C.加密方式:
    普通加密:var val=md5('value');
    加盐:var val=md5('value','这是第一次加盐处理')

    4.SSL,SSH和md5的对比

    1.SSL是一个独立的安全套层加密协议;
    位于TCP(应用层)和IP(网络层)之间;
    只是起到将数据加密和验证作用;
    2.SSH有加密,连接和认证功能,也是一种协议;
    3.md5只是简单讲数据加密传输或者被存贮到数据库;
    4.最本质的区别:SSL,SSH是一个协议,而md5是一种数据加密方式

  • 相关阅读:
    软件工程第六次作业
    软件工程第五次作业
    软件工程第四次作业
    软件工程第三次作业
    软件工程第二次作业
    软件工程第一次作业
    《CLSZS团队》:团队项目选题报告
    计算机软件工程 作业五
    计算机软件工程 作业四
    计算机软件工程 作业三
  • 原文地址:https://www.cnblogs.com/studyshufei/p/8950138.html
Copyright © 2020-2023  润新知