超文本传输协议 - 白话篇
再给大家介绍另一个小编,他也是一名在校学生,为什么会有写网络相关的想法呢?因为这几天在给图书馆的服务器装环境,在配置网络上面一直停滞不前,决定重新学习一遍计算机网络,他会将每天学到的知识通过大白话的方式写出来,请大家多多支持。
本次主要介绍HTTP基本概念
HTTP 是什么?描述一下
官方回答:HTTP 是超文本传输协议,也就是HyperText Transfer Protocol。
能否详细解释「超文本传输协议」?
HTTP的名字「超文本协议传输」,它可以拆成三个部分:
超文本
传输
协议
什么是协议?
在生活中,我们也能随处可见「协议」,例如:
刚毕业时会签一个「三方协议」;
找房子时会签一个「租房协议」;
生活中的协议,本质上与计算机中的协议是相同的,协议的特点:
「协」字,代表的意思是必须有两个以上的参与者。例如三方协议里的参与者有三个:你、公司、学校三个;租房协议里的参与者有两个:你和房东。
「议」字,代表的意思是对参与者的一种行为约定和规范。例如三方协议里规定试用期期限、毁约金等;租房协议里规定租期期限、每月租金金额、违约如何处理等。
针对 HTTP 协议,我们可以这么理解。
HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范(两个以上的参与者),以及相关的各种控制和错误处理方式(行为约定和规范)。
什么是传输呢?
所谓的「传输」,很好理解,就是把一堆东西从 A 点搬到 B 点,或者从 B 点 搬到 A 点。
别轻视了这个简单的动作,它至少包含两项重要的信息。
HTTP 协议是一个双向协议。
我们在上网冲浪时,浏览器是请求方 A ,百度网站就是应答方 B。双方约定用 HTTP 协议来通信,于是浏览器把请求数据发送给网站,网站再把一些数据返回给浏览器,最后由浏览器渲染在屏幕,就可以看到图片、视频了。
数据虽然是在 A 和 B 之间传输,但允许中间有中转或接力。
就好像第一排的同学想传递纸条给最后一排的同学,那么传递的过程中就需要经过好多个同学(中间人),这样的传输方式就从「A < --- > B」,变成了「A <-> N <-> M <-> B」。
而在 HTTP 里,需要中间人遵从 HTTP 协议,只要不打扰基本的数据传输,就可以添加任意额外的东西。
针对传输,我们可以进一步理解了 HTTP。
HTTP 是一个在计算机世界里专门用来在两点之间传输数据的约定和规范。
什么是超文本?
HTTP 传输的内容是「超文本」。
我们先来理解「文本」,在互联网早期的时候只是简单的字符文字,但现在「文本」的涵义已经可以扩展为图片、视频、压缩包等,在 HTTP 眼里这些都算作「文本」。
再来理解「超文本」,它就是超越了普通文本的文本,它是文字、图片、视频等的混合体,最关键有超链接,能从一个超文本跳转到另外一个超文本。
HTML 就是最常见的超文本了,它本身只是纯文字文件,但内部用很多标签定义了图片、视频等的链接,再经过浏览器的解释,呈现给我们的就是一个文字、有画面的网页了。
OK,经过了对 HTTP 里这三个名词的详细解释,就可以给出比「超文本传输协议」这七个字更准确更有技术含量的答案:
HTTP 是一个在计算机世界里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和规范」。
停。先别往下看。思考一下这个问题:
那「HTTP 是用于从互联网服务器传输超文本到本地浏览器的协议 ,这种说法正确吗?
DA:这种说法是不正确的。因为也可以是「服务器< -- >服务器」,所以采用两点之间的描述会更准确。
补充写知识点:
具体的状态码不在这里说明。
http常见的字段有哪些?
打开浏览器,按F12,刷新一些页面。
解释上面字段:
1)Accept:⽂本的格式 。
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
2)Accept-Encoding:编码格式
gzip, deflate, br
3)Connection:⻓链接 短链接
keep-alive
4)Cookie:验证⽤的
5)Host:域名
www.baidu.com
6)Referer:标志从哪个⻚⾯跳转过来的
7)User-Agent:浏览器和⽤户的信息
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36
超文本传输协议 - 白话篇相关推荐
- 超文本传输协议-HTTP/1.1
说明 本文档规定了互联网社区的标准组协议,并需要讨论和建议以便更加完善.请参考 "互联网官方协议标准"(STD 1)来了解本协议的标准化状态.本协议不限流传发布. 版权声明 Cop ...
- 超文本传输协议HTTP/1.1
文章来源: http://www.blogjava.net/sunchaojin/archive/2007/08/09/http.html 说明 本文档规定了互联网社区的标准组协议,并需要讨论和建议以 ...
- 超文本传输协议(HTTP/1.1)中文翻译
超文本传输协议-HTTP/1.1 说明 本文档规定了互联网社区的标准组协议,并需要讨论和建议以便更加完善.请参考 "互联网官方协议标准"(STD 1)来了解本协议的标准化状态.本协 ...
- HTTP超文本传输协议-HTTP/1.1中文版
HTTP超文本传输协议-HTTP/1.1中文版 摘要 超文本传输协议(HTTP)是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议.它是一种通用的,不分状态(stateless)的协议,除了 ...
- (转载)HTTP超文本传输协议-HTTP/1.1中文版
HTTP超文本传输协议-HTTP/1.1中文版 摘要 超文本传输协议(HTTP)是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议.它是一种通用的,不分状态(stateless)的协议,除了 ...
- 超文本传输协议 -- HTTP/1.1(一)
超文本传输协议 -- HTTP/1.1(一) 声明 备忘录状态 摘要 1. 介绍 1.1 目标 1.2 需求 1.3 术语 1.4 概述 2. 符号约定和一般语法 2.1 扩展的巴科斯范式 2.2 基 ...
- HTTP超文本传输协议----记录
最近时不时会看到一些HTTP的帖子,所以自己也写一个,拿来备忘 1. 什么是超文本传输协议 HTTP中文全称就叫"超文本传输协议" 之前一直都是看过就完了,这两天看到几篇文章,详细 ...
- Servlet - HTTP超文本传输协议
HTTP (超文本传输协议) 超文本传输协议(HTTP)是用于协作.分布式.超媒体信息系统的应用级协议.它是用于建立客户端和服务器之间通信的数据通信协议. HTTP协议是基于TCP/IP的通信协议 ...
- HTTP协议(HyperText Transfer Protocol,超文本传输协议)
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准. HTTP是一个基于TCP/IP通信 ...
最新文章
- 【不同的Java垃圾回收器的比较】
- 一种结合混沌密码理论的彩色图象水印算法
- mysql安装过程以及启动服务中的若干问题
- 05-ServletconfigServletCOntext
- web.xml详细介绍
- 安装mysql8.0.20,报错“找不到VCRUNTIME140_1.dll”
- python bind sock_python 在bind端口之后创建的socket如果不关闭的话会被回收吗?
- 02-05 Python库-time datetime
- mysql序列号生成_超详细的mysql数据库GTID介绍—概念、优缺点、原理、生命周期等
- 牛逼!java开发环境配置视频教程
- 大数据Python学习大纲
- 优化程序性能(CSAPP)
- excel打开csv乱码解决------------为什么pycharm里面csv不乱码,excel里面却乱码了
- ubuntu nsight使用
- perl 教程网站 记录
- Python起重机主梁截面特性计算小程序
- java 禁用cookie的解决办法
- 广州二手房价分析与预测
- 手机联系人不见了怎么恢复,试下这2招
- java中 toast的意思,英语:toast意思
热门文章
- 解线性方程组c语言实验报告,实验五线性方程组的迭代法实验
- springboot项目启动报错Parameter 4 of constructor in com.ffkj.platform.mainstay.controller.MerchantControll
- android 手机 投影,100吋1080p 看Android双核手机连投影
- 20180504_android传感器入门之光线传感器
- 天下所有的事,都是为了利益,都是按利益逻辑规律在运行,发生的一切事情都可以用利益逻辑来解释
- 谈读《三国志》之话说关羽——【istrangeboy精品史评】
- 第六章:详细设计。盒图、问题分析图即PAD图、过程设计语言PDL伪码
- 卢卡斯定理求组合数(逆元+费马小定理+扩展欧几里得)
- pythoninput算出bmi_python菜鸡——BMI计算
- 微信抢票环境配置——nginx + uwsgi + django配置服务器