zoukankan      html  css  js  c++  java
  • 应用层协议:HTTP

    1. HTTP定义

      HyperText Transfer Protocol,超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。

      HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。

      使用TCP端口为:80

    2. HTTP历史

      

    3. HTTP多路复用

      

       https://blog.csdn.net/xiaoming100001/article/details/81109617

      多路复用:通过单一的HTTP/2连接请求发起多重的请求-响应消息,多个请求stream共享一个TCP连接,实现多留并行而不是依赖建立多个TCP连接。

     4. HTTP报文格式

     在这里插入图片描述

    5. HTTP通信传输

    超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据(三次握手,四次挥手)

        这里写图片描述

    1. 客户端输入URL回车,
    2. DNS解析域名得到服务器的IP地址
    3. 服务器在80端口监听客户端请求,端口通过TCP/IP协议(可以通过Socket实现)建立连接。
    4. 报文从运用层传送到运输层,运输层通过TCP三次握手和服务器建立连接,四次挥手释放连接。

    5. 缺点

      HTTP协议基于TCP进行传输的,其中传输的内容全都裸露在报文中,如果我们获取了一个HTTP消息体,那我们可以知道消息体中所有的内容。这其实存在很大的风险,如果HTTP消息体被劫持,那么整个传输过程将面临:

    (1) 窃听风险(eavesdropping):第三方可以获知通信内容。

    (2) 篡改风险(tampering):第三方可以修改通信内容。

    (3) 冒充风险(pretending):第三方可以冒充他人身份参与通信。

      正因为HTTP协议的这个缺点, HTTP变成了一种不安全的协议

    参考网址

    1. HTTP和HTTPS协议,看一篇就够了
    2. HTTPS协议的实现原理
  • 相关阅读:
    Docker镜像与仓库(四)
    Docker网络与存储(三)
    Docker基本使用(一)
    虚拟化KVM之优化(三)
    修改CENTOS7的网卡ens33修改为eth0
    虚拟化KVM之安装(二)
    虚拟化KVM之概述(一)
    Python不同版本打包程序为.exe文件
    JSON
    同源策略(same-origin policy)及三种跨域方法
  • 原文地址:https://www.cnblogs.com/haimishasha/p/11372493.html
Copyright © 2011-2022 走看看