zoukankan      html  css  js  c++  java
  • HTTP协议

    一、

    HTTP:超文本传输协议。超文本---超级文本----带超链接文本

        地址:http(s)://<主机>:<端口>/<路径>

    HTTP协议是可靠的数据传输协议

    HTTP是无状态的协议

    HTTP是典型的运行在CS模式上的

     web服务器:

      接受客户端连接----接收请求报文----处理请求-----访问web资源-------构造应答-----发送应答

    二、HTTP请求方法

    GET  POST   DELETE  DELETE  UPDATE  PUT  OPTIONS  PATCH  HEAD   TRACE

    1、get

      获取指定的服务端资源

    2、post

      提交数据到服务端,如对某个数据进行修改,登录时发送账号密码

    3、delete

      删除指定的服务端资源

    4、update

      更新指定的服务端资源

    三、如何指定资源呢???

    1、在地址中指定

    https://coding.imooc.com/class/355.html

    https://coding.imooc.com/?sort=0&unlearn=0&page=2

    2、在请求数据中指定

    (1)请求报文:

    (2)应答报文:

     重定向:访问的资源可能在另一个服务器,给你返回那个服务器的地址,请客户端再访问那个服务器;

    四、HTTP工作的结构

    web缓存:

    web代理:

    CDN:content delivery network---内容分发网络

    爬虫:

    五、详解

    HTTP是明文传输的

    HTTPS(Secure)是安全的HTTP协议

    http(s)://<主机>:<端口>/<路径>   443端口

    1、加密模型

    (1)对称加密:

     (2)非对称加密:

     A B 是拥有一定数学关系的一组秘钥。

      私钥:私钥是自己使用,不对外公开

      公钥:公钥是给大家使用,对外公开

    公钥加密,私钥解密。

    2、数字证书

    数字证书是可信任组织颁发给特定对象的认证

    3、SSL (Secure Socket Layer:安全套接层)

    位于应用层和传输层之间,提供数据安全(保证数据不会被泄漏)和数据完整(保证数据在传输过程中不会被篡改)的服务,以及对传输层的数据进行加密后传输

    4、过程

    (1)443端口的TCP连接

    (2)SSL安全参数的握手--------最重要的一步

    (3)客户端发送数据,发送之前会对数据进行加密,通过TCP连接发送给服务端,服务端再进行解密

    (4)服务端发送数据,同样的在发送之前会进行加密,传输给客户端,在进行解密

    5、SSL安全参数握手

    (1)客户端生成一个随机数1,连同协议版本,它支持的加密算法,一起发送给服务端,数据是明文的

    (2)服务端生成随机数2,提供自己的数字证书,把客户端的加密算法进行确定,发送给客户端

    (3)确认证书是否有效?生成随机数3,使用服务器的公钥加密随机数3,发送服务端。

    只有服务端可以对随机数3进行解密,其他是不可以解密的

     (4)根据随机数1,2,3和相同的算法生成对称秘钥,即可进行加密传输。

    HTTPS综合使用了对称秘钥和非对称加密 。

  • 相关阅读:
    webpy安装
    windows 上jenkins slave 执行脚本提示成功,但是没有运行
    jenkins slave上执行脚本报错
    python selenium2 动态调试
    maven配置阿里云国内仓库
    jenkins部署报404错误
    elipse常用插件下载
    jenkins部署
    国内开源镜像站
    最大公约数
  • 原文地址:https://www.cnblogs.com/1220x/p/11765869.html
Copyright © 2011-2022 走看看