IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 网络之http -> 正文阅读

[网络协议]网络之http

网络之http

	HTTP诞生于1989年,位于OSI体系的应用层。中文名为超文本传输协议,但是更严谨的译名应当是超文本转移协议。和HTMLURI
并称为web三大基石。
	今天你所用的软件,如ERPOA,司库,RPA,新闻网页,公司后台,手机应用,大多都是基于HTTP协议
的web应用。当然其中也有一些软件,实现了私有协议。
	关于协议,百度百科是这样解释的:意思是共同计议,协商;经过谈判、协商而制定的共同承认、共同遵守
的文件。 也就是说双方共同遵守的规则。只有双方同时遵守,才能进行沟通和通信。
	web再往上就是www,这一提议是致力于全世界的研究者们进行知识共享。   中文名是万维网  英文名是
world Wide Web 意思就是全世界范围内的web应用
	web技术是Tim Berners-Lee教授在1980年提出的一个设想,主要包括三个技术,分别是HTMLURIHTTP。即使到今天,Web模型也没有太大的变化。
	也就是说,只要你用了HTTPHTMLURI你就是一个web应用,不管这个范围是局域网,城域网,还是广
域网。
	在互联网中,除了web应用,还有其它的,比如邮件应用和FTP文件传输应用。每一个应用都用到了一个或多个协议。
	URI: 叫做统一资源标识符,用来唯一的标识一个资源。其格式如下:

在这里插入图片描述

	可能很多人都对URI理解不是很深,上图是一个绝对URI的格式,包括协议,登录信息,地址,端口,路
径,查询字符串,片段标识符。这些东西在工作中,都是可以用到的。
	在git产品中,可以使用登录信息认证来完成shell自动化拉取代码。
	片段标识符,则可以用来跳转同一个网页中的不同位置,也就是类似于HTML中的锚点的作用
	查询字符串,我想平时我们都叫他为路径参数。
	协议方案名也是多变了,它可以是http:  也可以是data:   也可以是javascript:等等
	其它的组成部分我们平时就比较多见了。
	HTML: 中文名为超文本标记语言,用来标记数据	(从一开始只能有文字到有颜色的文字,到段落,图片,视频等等)
	在互联网中,有一个不得不提的就是TCP/IP协议族,他们并不是单独的TCPIP协议,而是指一整套体
系。 不管是个人计算机还是手机设备,只要支持TCP/IP,数据就能够从世界上任意一端传输到另外一端,距
离不再是问题。但是在网络上传输的数据,只能被机器理解,普通人无法理解字节流的意思,为了让用户理
解,就需要翻译这些字节流。双方要通信就必须有相同的翻译方式,遵循同一种规则,才可以进行交流。这个
规则可以使用现有的,也可以自己定制。自己定制耗时耗力,又无法得到通用,功能也不一定有http
全,http也是因其简单易用功能全获得了快速的发展。

	在http协议中,规定了通信了双方 C/S  即客户端,服务端。		
	客户端根据http协议发出请求,服务端经过处理后必须返回一个响应,哪怕是拒绝的响应,也要告诉客户
端,响应的内容就是我拒绝响应。http协议使用URI来定位资源,如果你知道一个资源的URI,在浏览器中
的地址栏中,输入地址即可请求资源,服务器收到后,必然会回应你,如果一切正常的话,你将收到一个
http响应,一般的资源都会放到响应体中,比如超文本。HTML是超文本标记语言,是用来描述页面的语言,
起初只能描述文字,后来经过发展,可以描述颜色,图片,视频。但是,普通用户是看不明白HTML文件的,
需要被浏览器解析,才能看到最终的页面。

	一个大致的流程,我想要浏览一个网页,在浏览器地址栏输入一个URI,浏览器使用相应的协议(不只有
http,也有可能是别的,这里使用http),根据你的URI和本地的信息(如浏览器的类型,版本,操作系统
类型,可解析的数据类型等等)生成请求首部。发生请求后,会由服务器接收到,响应给你一个HTML页面。
浏览器会负责把这些解析成响应的信息,纯html文件,我们是看的很难受的,需要浏览器来将它解析成文
字,颜色,图片等等。如果你对其中的某个链接(URI)比较感兴趣,当你用鼠标点击该链接后,浏览器又会
重复上述步骤,组装请求,发出请求并且解析页面,展示给用户查看。

	学习http的本质 就是学习其协议格式,头部构成,请求方式
		对于请求来说: 就是 请求方法,请求主机地址,请求路由,请求参数,请求首部字段,请求体, 协议版本
		对于响应来说: 响应状态码,响应字段, 响应首部字段,响应体。。协议版本
	最终想要达成的目的就是:
		可以通过对请求的方法地址,路由,参数,片段,首部字段的调整,较为熟练的使用http发送请求,使
用其特性,比如8种请求方式,请求不同的服务器和不同的文件路由, 发送不同的参数进行查询等操作,调整
首部字段来告诉服务器,我要干什么,能理解什么数据类型,是否使用压缩,能理解什么语言,可接受什么数
据,我是谁(使用cookie或其他验证方式),是否使用缓存,取何时的数据,是否允许跨域运行js脚本,是
否保持链接等等http的功能特性。出了问题可以通过专业知识迅速定位问题,且快速修复。如果你是一个善
于思考和总结的人,甚至可以在http上创新,解决其缺陷,发现其新的用户,相信很多人都会这样的。
	如果想要了解这些特性,可以看一些专业的书籍:如《图解http》或者直接看请求评论文档rfc:https://www.ietf.org/rfc/rfc1945.txt
	知道这些以后,再去学一些web框架的时候,就可以大致的知道其中的请求和响应对象大致有哪些功能,且
出了问题,可以很快速的定位。

本文乃是牛刀小试,作者还是很菜的,哎。不知道啥时候可以成为独当一面的人,以后的一段时间里会以计算机网络为主题,进行写作,如果有错误希望指出。相信可以提升自己成为一个严谨的人。毕竟做学问是容不得一点马虎的。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-15 11:44:47  更:2022-05-15 11:45:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 6:21:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码