zoukankan      html  css  js  c++  java
  • HTTP

    HTTP是什么

    HTTP 就是超文本 传输 协议,也就是 HyperText Transfer Protocol。
    “超文本传输协议”,它可以拆成三个部分,分别是:“超文本”“传输”和“协议”。
    超文本传输协议
    1.首先,HTTP 是一个协议。

    • 协议的特点:
    • 第一点,协议必须要有两个或多个参与者,也就是“协”。
    • 第二点,协议是对参与者的一种行为约定和规范,也就是“议”。
      所以HTTP 的第一层含义就是:
      HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。

    2.传输

    • HTTP 是一个“传输协议”,所谓的“传输”(Transfer)其实很好理解,就是把一堆东西从 A 点搬到 B 点,或者从 B 点搬到 A 点,即“A<===>B”。所以可以推出:
    • HTTP 协议是一个“双向协议”。
      • 通常我们把先发起传输动作的 A 叫做请求方,把后接到传输的 B 叫做应答方或者响应方
    • 数据虽然是在 A 和 B 之间传输,但并没有限制只有 A 和 B 这两个角色,允许中间有“中转”或者“接力”。
      • 这样,传输方式就从“A<===>B”,变成了“A<=>X<=>Y<=>Z<=>B”,A 到 B 的传输过程中可以存在任意多个“中间人”,而这些中间人也都遵从 HTTP 协议只要不打扰基本的数据传输,就可以添加任意的额外功能,例如安全认证、数据压缩、编码转换等等,优化整个传输过程。
    • 所以HTTP的第二层含义就是:
      • HTTP 是一个在计算机世界里专门用来在两点之间传输数据的约定和规范

    3.超文本

    • 文本”(Text)
      • 表示 HTTP 传输的不是 TCP/UDP 这些底层协议里被切分的杂乱无章的二进制包(datagram),而是完整的、有意义的数据可以被浏览器、服务器这样的上层应用程序处理。
      • 在互联网早期,“文本”只是简单的字符文字,但发展到现在,“文本”的涵义已经被大大地扩展了,图片、音频、视频、甚至是压缩包,在 HTTP 眼里都可以算做是“文本”。
      • 所谓“超文本”,就是“超越了普通文本的文本”,它是文字、图片、音频和视频等的混合体,最关键的是含有“超链接”,能够从一个“超文本”跳跃到另一个“超文本”,形成复杂的非线性、网状的结构关系。
      • 对于“超文本”,我们最熟悉的就应该是 HTML 了,它本身只是纯文字文件,但内部用很多标签定义了对图片、音频、视频等的链接,再经过浏览器的解释,呈现在我们面前的就是一个含有多种视听信息的页面。
        所以最后最HTTP的总结:
    • HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范

    HTTP 不是什么

    • 等价的问题是“HTTP 不能干什么?”
    • 因为 HTTP 是一个协议,是一种计算机间通信的规范,所以它不存在“单独的实体”。它不是浏览器、手机 APP 那样的应用程序,也不是 Windows、Linux 那样的操作系统,更不是 Apache、Nginx、Tomcat 那样的 Web 服务器。
    • 但 HTTP 又与应用程序、操作系统、Web 服务器密切相关,在它们之间的通信过程中存在,而且是一种“动态的存在”,是发生在网络连接、传输超文本数据时的一个“动态过程”。
    • HTTP 不是互联网。
      • 互联网(Internet)是遍布于全球的许多网络互相连接而形成的一个巨大的国际网络,在它上面存放着各式各样的资源,也对应着各式各样的协议。
      • HTTP 是构建互联网的一块重要拼图。
    • HTTP 不是编程语言。
      • 编程语言人与计算机沟通交流所使用的语言,而 HTTP计算机与计算机沟通交流的语言,我们无法使用 HTTP 来编程但可以反过来,用编程语言去实现 HTTP告诉计算机如何用 HTTP 来与外界通信。
    • HTTP 不是一个孤立的协议。
      • 在互联网世界里,HTTP 通常跑在 TCP/IP 协议栈之上,依靠 IP 协议实现寻址和路由、TCP 协议实现可靠数据传输、DNS 协议实现域名查找、SSL/TLS 协议实现安全通信。此外,还有一些协议依赖于 HTTP,例如 WebSocket、HTTPDNS 等。这些协议相互交织,构成了一个协议网,而 HTTP 则处于中心地位。
    • HTTP不是HTML
      • 单论次数,在互联网上 HTTP 传输最多的可能就是 HTML,但要是论数据量,HTML 可能要往后排了,图片、音频、视频这些类型的资源显然更大。

    http-note 笔记内容来自极客时间《透视HTTP协议》专栏--罗剑锋老师 努力学习 受益匪浅

  • 相关阅读:
    JavaWeb项目报错:The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
    Linux+Nginx+Tomcat+Redis实现负载均衡,应用集群及session共享
    CENTOS7下安装REDIS
    centOS7访问nginx失败解决-.0:80 failed (98: Address already in use)解决
    Nginx 配置反向代理后,页面中取绝对URL地址的问题显示代理端口
    linux中安装jdk
    在linux系统防火墙中放开对8080端口的限制
    Removing obsolete files from server... Could not clean server of obsolete files
    js关于小数点失精算法修正0.07*100竟然=7.000000000000001
    jquery ajax后台向前台传list 前台用jquery $.each遍历list
  • 原文地址:https://www.cnblogs.com/liyf-98/p/14416141.html
Copyright © 2011-2022 走看看