图解HTTP笔记(一)

博主建了一个学习群 感兴趣的小伙伴可以加入一起学习交流      点我进群     一起学习交流!(群里有许多的学习资料,我做过的一些网页我都上传在群里了,需要的直接下载就可以了)

QQ群:722384575


前言
我去各大招聘网站看了一下,在面试过程中,HTTP 被提问的概率还是比较高的。我搜集了 5 大类 HTTP 面试常问的题目,同时这 5 大类题跟 HTTP 的发展和演变关联性是比较大的,通过问答 + 图解的形式由浅入深的方式帮助大家进一步的学习和理解 HTTP 。

1.HTTP 基本概念
2. Get 与 Post
3. HTTP 特性
4. HTTPS 与 HTTP
5. HTTP/1.1、HTTP/2、HTTP/3 演变

正文

HTTP 是什么?描述一下

HTTP 是超文本传输协议,也就是HyperText Transfer Protocol。

能否详细解释「超文本传输协议」?

HTTP的名字「超文本协议传输」,它可以拆成三个部分:
1、超文本
2、传输
3、协议

1、「协议」
在生活中,我们也能随处可见「协议」,例如:
刚毕业时会签一个「三方协议」;
找房子时会签一个「租房协议」;

生活中的协议,本质上与计算机中的协议是相同的,协议的特点:
「协」字,代表的意思是必须有两个以上的参与者。例如三方协议里的参与者有三个:你、公司、学校三个;租房协议里的参与者有两个:你和房东。
「议」字,代表的意思是对参与者的一种行为约定和规范。例如三方协议里规定试用期期限、毁约金等;租房协议里规定租期期限、每月租金金额、违约如何处理等。
针对 HTTP 协议,我们可以这么理解。
HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范(两个以上的参与者),以及相关的各种控制和错误处理方式(行为约定和规范)。
2. 「传输」
所谓的「传输」,很好理解,就是把一堆东西从 A 点搬到 B 点,或者从 B 点 搬到 A 点。别轻视了这个简单的动作它至少包含两项重要的信息。
HTTP 协议是一个双向协议。
我们在上网冲浪时,浏览器是请求方 A ,百度网站就是应答方 B。双方约定用 HTTP 协议来通信,于是浏览器把请求数据发送给网站,网站再把一些数据返回给浏览器,最后由浏览器渲染在屏幕,就可以看到图片、视频了。

数据虽然是在 A 和 B 之间传输,但允许中间有中转或接力。就好像第一排的同学想传递纸条给最后一排的同学,那么传递的过程中就需要经过好多个同学(中间人),这样的传输方式就从「A < — > B」,变成了「A <-> N <-> M <-> B」。

而在 HTTP 里,需要中间人遵从 HTTP 协议,只要不打扰基本的数据传输,就可以添加任意额外的东西。

针对传输,我们可以进一步理解了 HTTP。

HTTP 是一个在计算机世界里专门用来在两点之间传输数据的约定和规范。
3. 「超文本」
HTTP 传输的内容是「超文本」。

我们先来理解「文本」,在互联网早期的时候只是简单的字符文字,但现在「文本」的涵义已经可以扩展为图片、视频、压缩包等,在 HTTP 眼里这些都算作「文本」。

再来理解「超文本」,它就是超越了普通文本的文本,它是文字、图片、视频等的混合体,最关键有超链接,能从一个超文本跳转到另外一个超文本。

HTML 就是最常见的超文本了,它本身只是纯文字文件,但内部用很多标签定义了图片、视频等的链接,再经过浏览器的解释,呈现给我们的就是一个文字、有画面的网页了。

OK,经过了对 HTTP 里这三个名词的详细解释,就可以给出比「超文本传输协议」这七个字更准确更
有技术含量的答案:
HTTP 是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」。

那「HTTP 是用于从互联网服务器传输超文本到本地浏览器的协议 ,这种说法正确吗?

这种说法是不正确的。因为也可以是「服务器< – >服务器」,所以采用两点之间的描述会更准确。

本期结束,我们下期再见!

图解HTTP笔记(一)相关推荐

  1. webpack图解-学习笔记

    文章目录 webpack图解-学习笔记 webpack与vuecli关系 为什么要打包? 什么是webpack? webpack-dev-server 手动配置文件 把打包后的js文件整合到html中 ...

  2. 图解HTTP笔记(二)——HTTP状态码

    图解HTTP笔记(二)--HTTP状态码 本章的主要内容是了解HTTP状态码的工作机制 HTTP 常见的状态码,有哪些? 下面介绍一下常用的一些状态码. 一.1xx 提示信息 1xx 类状态码属于提示 ...

  3. 4.1《算法图解》笔记——Chapter 6 Breadth-First Search

    算法图解笔记--Chapter 6 Breadth-First Search Author: Seven Zou Email: zoushiqi0404@gmail.com Language: Pyt ...

  4. 算法图解学习笔记02:递归和栈

    计算机内存原理 要说递归和栈的问题,首先就要说下计算机内存的基本原理.简单理解计算机内存原理可以将一台电脑看作超市的存包柜,每个柜子都有柜号(即计算机中的地址,如0x000000f).当需要将数据存储 ...

  5. 图解TCPIP 笔记

    图解TCPIP-基础知识(前三章干货少 重点在后边) 表示层:将计算机特定的数据格式转换为网络标准数据格式,标记格式编码 会话层:用于选择建立哪种连接方式,会在数据前端增加首部或标签信息 传输层:会话 ...

  6. 算法图解读书笔记:附程序

    算法图解通俗易懂,下面是随书练习程序,基于python3 二分法 #二分法 def binary_search(list, item):low = 0high = len(list)-1while l ...

  7. 算法图解 读书笔记(上)

    最近看了一本算法入门书--算法图解. 封面的插画很好玩儿.最吸引我的还是封面里的一句话:向小说一样有趣的算法入门书. 上个封面,大家感受一下: 一.算法简介 1.1 二分查找 一个有序数组中找一个数的 ...

  8. 图解 HTTP 笔记(四)——HTTP 状态码

    本章主要内容是了解 HTTP 状态码的工作机制 状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果.借助状态码,我们可以了解这次请求是否在服务器端得到了正常的处理. 状态码从其含以上可以分 ...

  9. 算法图解学习笔记01:二分查找大O表示法

    二分查找 二分查找又称折半查找,其输入的必须是有序的元素列表.二分查找的基本思想是将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止:如果x<a[ ...

最新文章

  1. sixth week:third work
  2. input[type=file]属性
  3. Linux 用户空间和内核空间
  4. shell 脚本学习(一)
  5. QML笔记-2种方式实现心脏跳动
  6. USACO-Section1.3 Dual Palindromes (进制转换和回文数)
  7. 从末尾截取字符串_【MID】文本截取函数如何使用?
  8. 关于分布式系统架构模块通讯方式选择的问题
  9. c++ list遍历_List集合就这么简单「源码剖析」
  10. SignalR 服务器系统配置要求
  11. linux下安装指定版本的nodejs(升级到指定版本)
  12. PHP笔记(CSS篇)
  13. vue 中引入使用其他字体
  14. [导入]polygraph3d三维运行时引擎为silverlight 1.0.zip(15.69 KB)
  15. 用计算机处理表格信息教案,表格信息的加工与表达教案
  16. css3 实现按钮点击动画效果(加工)
  17. sql查询语句分支语句
  18. Getting Started and Beyond|云原生应用负载均衡选型指南
  19. 儿童bml计算机在线,中国儿童超重、肥胖体重指数BMI分类标准(kg/m2)
  20. 秦九邵算法计算多项式(C语言实现)

热门文章

  1. 以虚拟现实骨灰级开发者视角,来看VR智能硬件平台
  2. Tomcat的安装及配置。
  3. “树人杯”暨第三届辽宁科技大学校园程序设计竞赛正赛G 又是一个小游戏(蓝)...
  4. 2、Intellij IDEA中启动Broker
  5. 目前高产的稻麦品种的光能利用效率仅为()左右_枣树高产优质高效栽培关键技术...
  6. python中list是链表吗_Python 链表(linked list)
  7. win10安装账户卡住_win10安装卡着不动怎么处理 解决win10安装卡死方法
  8. jpa jql 时间范围查询_SpringBoot整合JPA案例
  9. 第一篇博客---JavaSE基础部分回顾总结01概述、基础语法
  10. 纳英特九宫医疗机器人编程_机器人大赛|我校王子航、阮云天成功进入世界机器人华东赛区决赛...