Iwen's blog Iwen's blog
首页
  • 前端文章

    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 小程序笔记
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • Linux
  • 学习
  • 面试
  • 心情杂货
  • 友情链接
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
复盘
关于

Iwen

不摸鱼的哥哥
首页
  • 前端文章

    • JavaScript
    • Vue
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 小程序笔记
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • Linux
  • 学习
  • 面试
  • 心情杂货
  • 友情链接
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
复盘
关于
  • Vue

  • Vue进阶

  • CSS

  • ES6

  • Base

  • Core

  • Array

  • Object

  • String

  • Async

  • Browser

  • Http

    • HTTP 和 HTTPS
      • HTTP
      • HTTPS
      • 两者区别
      • GET 和 POST 区别
      • HTTP 版本区别
    • TCP三次握手和四次挥手
    • TCP 和 UDP 区别
    • HTTP 状态码
    • 回流重绘
    • HTTP 基础知识
  • 性能优化

  • 正则

  • 经典总结

  • 设计模式

  • 数据结构

  • 算法

  • 手写

  • TypeScript

  • 复盘
  • Http
Mr.w
2020-11-29

HTTP 和 HTTPS

# HTTP 和 HTTPS

# HTTP

HTTP 是一种 超文本传输协议(Hypertext Transfer Protocol),HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范

HTTP 协议默认是明文的,也就是说在请求的过程中,可能会被劫持和篡改数据。为了安全等问题,所以才有了 HTTPS。

# HTTPS

HTTPS 的全称是 Hypertext Transfer Protocol Secure,从名称我们可以看出 HTTPS 要比 HTTPS 多了 secure 安全性这个概念,实际上,HTTPS 并不是一个新的应用层协议,它其实就是 HTTP + TLS/SSL 协议组合而成,而安全性的保证正是 TLS/SSL 所做的工作。

也就是说,HTTPS 就是身披了一层 SSL 的 HTTP。

SSL 握手过程:

  1. 建立安全能力 包括协议版本 会话Id 密码构件 压缩方法和初始随机数
  2. 服务器发送密钥和证书请求
  3. 如果有证书请求客户端发送此证书 之后客户端发送密钥交换数据 也可以发送证书验证消息
  4. 变更密码构件,结束握手协议

# 两者区别

xx 协议 端口 性能 功能 原理
HTTP http:// 80 不安全 明文传输(不加密) 应用层
HTTPS https:// 443 安全 SSL加密、身份认证(加密) 传输层
  • HTTP 是未经安全加密的协议,它的传输过程容易被攻击者监听、数据容易被窃取、发送方和接收方容易被伪造;
  • 而 HTTPS 是安全的协议,它通过 密钥交换算法 - 签名算法 - 对称加密算法 - 摘要算法 能够解决上面这些问题。

# GET 和 POST 区别

HTTP 中包括许多方法,Get 和 Post 是 HTTP 中最常用的两个方法,基本上使用 HTTP 方法中有 99% 都是在使用 Get 方法和 Post 方法,所以有必要我们对这两个方法有更加深刻的认识。

安全:

  • get 方法是不安全的,因为你在发送请求的过程中,你的请求参数会拼在 URL 后面,从而导致容易被攻击者窃取,对你的信息造成破坏和伪造;
 /test/demo_form.asp?name1=value1&name2=value2 
1

而 post 方法是把参数放在请求体 body 中的,这对用户来说不可见。

POST /test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2 
1
2
3
  • GET 请求的 URL 有长度限制,而 POST 请求会把参数放在消息体中,长度无限制。
  • GET 请求会被浏览器主动缓存下来,而 POST 默认不会。
  • GET 请求会把请求报文一次性发出去;请求会把请求报文一次性发出去。
    • 对于 GET 方式的请求,浏览器会把 http header 和 data 一并发送出去;
    • 而对于 POST,浏览器先发送 header,服务器响应100(continue),浏览器再发送data。

# HTTP 版本区别

性能监控
TCP三次握手和四次挥手

← 性能监控 TCP三次握手和四次挥手→

最近更新
01
flex布局页面自适应滚动条问题
12-28
02
前后端分离开发请求接口跨域如何携带cookie的问题
12-28
03
怎么实现div长宽比固定width-height4比3
12-28
更多文章>
Theme by Vdoing | Copyright © 2017-2022 Iwen | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式