美文网首页
网络:HTTP、HTTPS

网络:HTTP、HTTPS

作者: 攻克乃还_ | 来源:发表于2017-12-01 20:23 被阅读8次
  • HTTP 协议
  • POST 请求和 GET 请求
  • Cookie 和 Session
  • 数据加密
  • HTTPS 协议

HTTP 协议

  • HTTP (超文本传输协议:Hypertext Transfer Protocol )是Web联网的基础,HTTP 基于 TCP

    • 使用 HTTP 协议时,客户端首先与服务端的 80 端口 建立一个 TCP 连接,然后在这个连接的基础上进行请求和响应
  • HTTP1.0 每次的请求和响应都会使用一个新的 TCP 连接

  • HTTP1.1 可以保持长连接,在一个TCP连接中,多次发送请求,接收响应

    • 仍然是一个请求对应着一个响应,请求结束后释放连接
    • 浏览器访问网页就使用了 HTTP 协议

POST 请求和 GET 请求

HTTP 有八种请求,最常见的是 GET 和 POST,区别为:

  • 1.GET 请求通常用于 获取数据;POST 请求则用于 发送数据
  • 2.GET 请求的 长度有限制(不同的浏览器不一样,大约在几 KB ),URL 的数据类型只能是 ASCII 字符;POST 不是
  • 3.GET 请求的参数在 URL 中;POST 请求数据则写在 请求头
    • 请求头中数据为明文
  • 4.GET 请求可以被 缓存,可以被收藏为书签; POST 不行
  • 5.GET 请求会保留在浏览器的 历史记录 中;POST 不会

Cookie 和 Session

  • HTTP 是一种无状态的连接,客户端每次发送请求,服务器都会认为是一次新的会话。但有时候我们又需要持久保持某些信息,比如登录时的 用户名、密码,用户上一次连接时的信息 等。这些信息就由 CookieSession 保存。

  • 两者区别在于:cookie 保存在客户端,session 保存在服务器

    • cookie 不安全,浏览器可以分析本地的 cookie,进行 cookie 欺骗。
    • session 可以设置超时时间,超时失效,以免长期占用服务端内存
    • 客户端每次都会把 cookie 发送到服务端,因此服务端可以知道 cookie,但是客户端不知道 session
    • 单个 cookie 的大小有限制:4 Kb,每个站点的 cookie 数量一般也有限制:20个
    • 服务器接收到 cookie 后,会根据 cookie 中的 SessionID 来找到这个客户的 session。如果没有,则会生成一个新的 SessionID 发送给客户端

加密

  • 加密分为: 对称加密和非对称加密

    • 对称加密的加密秘钥和解密秘钥相同;非对称加密两者不同
  • 常见的一个非对称加密算法是 RSA 算法,它的原理不在本文讨论

  • 在非对称加密中,利用公钥加密的数据能且只能通过私钥解密,通过私钥加密的数据能且只能通过公钥解密

  • 对称加密速度快,但是假设秘钥由服务器保存,如何安全的让客户端得到秘钥呢:通常使用对称加密与非对称加密结合的方式,服务端通过非对称加密对称秘钥发给客户端

HTTPS

我们知道 HTTP 协议直接使用 TCP 协议进行数据传输。由于数据都是明文传输,所以存在被窃取修改的风险。

  • HTTPS 协议:
    信息加密:无法被第三方窃取:非对称加密传输密码,然后用这个密码对称加密数据
    校验机制:被修改可以检测出来:发送方将数据的哈希结果写到数据中,接收方解密后对比数据的哈希结果,如果不一致则说明被修改
    身份证书:防止第三方伪装参与通信:权威机构颁发证书,再加上证书校验机制

  • 其实 HTTPS 仅仅是在 HTTP 和 TCP 之间新增了一个 TLS/SSL 加密层

  • 服务端会将自己的证书发送给客户端,其中包含了服务端的公钥:

1.客户端使用`公钥`将信息加密发送给服务端
2.服务端用自己的`私钥`解密;然后将响应数据用`私钥`加密发给客户端
3.客户端用`公钥`解密

参考资料:
网络基础

相关文章

  • 网络:HTTP、HTTPS

    HTTP 协议 POST 请求和 GET 请求 Cookie 和 Session 数据加密 HTTPS 协议 HT...

  • 网络 | http和https

    http是一种网络协议,超文本传输协,所传输的数据都是未加密的,也就是明文的,因此使用该协议传输隐私信息不安全,所...

  • Http、Https网络请求

    概念及常识 HTTP (Hypertext transfer protocol) 超文本传输协议;详细规定了浏览器...

  • http/https网络笔记

    http简介 超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网...

  • 网络请求相关http/https

    参考:https://www.geeksforgeeks.org/layers-osi-model/ OSI模型 ...

  • http与https网络请求

    HTTPS,即安全的超文本传输协议,采用了SSL技术,被广泛使用以保证Web应用系统的安全性。访问Web应用的编程...

  • http与https网络请求

    1.爬虫介绍 爬虫spider,获取数据的一种方式,根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种. ...

  • 网络协议HTTP与HTTPS

    HTTP定义:超文本传输协议(HTTP)是用于分布式,协作式和超媒体信息系统的应用协议。作用:Web上数据交换的基...

  • 网络题(HTTP/HTTPS协议 )

    二、HTTP/HTTPS协议1、请问http状态码以1、2、3、4、5开头的分别代表什么意思?1XX临时/信息响应...

  • http和https网络协议

    上一篇文章,我主要梳理了一下http和https的异同,还有http的请求过程,一些属性的介绍。 这会让我们对网络...

网友评论

      本文标题:网络:HTTP、HTTPS

      本文链接:https://www.haomeiwen.com/subject/clnwbxtx.html