从解释Http的全称开始重学网络(一)

Http是什么

毫无疑问,Http是一个缩写,全称为 HyperText Transfer Protool,谷歌机翻一下,超文本传输协议,第一个问题解决,Http是超文本传输协议。

超文本传输协议又是什么呢

解决是什么的问题,拆解着看是一个不错的选择,于是,进行分割,分割成"超文本" “传输” “协议”。一个个看

超文本

超文本仍然是一个可分割的概念,分成 “超” “文本” 就会好理解的多,所谓文本,即文字。那么,超文字就是那些比文字带有更多信息的载体。放在现有技术框架下,就是图片,视频,音频,超链接等等。
于是,可以先得出一个通俗概念,超文本就是图片,视频,音频,超链接这些信息载体。接下来看传输

传输

传输很好理解,通俗的讲,就是把一个东西从一个点传送到另一个点。放到网络上,就是把刚刚提到的超文本从客户端送到服务器端。就像进火车站需要刷身份证一样,超文本的传输也是需要有规则的,过于无序的话,本来目的地是北京的高铁,可能就会一路开到了哈尔滨了。
于是,协议就来了

协议

协议可是生活中经常出现的,就业协议,劳动协议等等,仔细想想,这些协议之间有几个特点:

  • 双方共同商议的
  • 对双方都有约束性的
    这些特点,放到网络传输上,也是行得通的。

阶段性总结

拆解完了,超文本传输协议的定义也就呼之欲出了,组织一下语言,加上大背景在计算机世界里,于是就有了:
在计算机世界里,用来在端到端之间传输图片,文字,视频等超文本的规范和约定
不过,还没有结束,我们自己的定义只能帮助自己理解,想要教科书版的定义,还需要轻点一下百度,输入Http。严谨定义如下:

Http是什么

毫无疑问,Http是一个缩写,全称为 **HyperText Transfer Protool,**谷歌机翻一下,超文本传输协议,第一个问题解决,Http是超文本传输协议。

超文本传输协议又是什么呢

解决是什么的问题,拆解着看是一个不错的选择,于是,进行分割,分割成"超文本" “传输” “协议”。一个个看

超文本

超文本仍然是一个可分割的概念,分成 “超” “文本” 就会好理解的多,所谓文本,即文字。那么,超文字就是那些比文字带有更多信息的载体。放在现有技术框架下,就是图片,视频,音频,超链接等等。
于是,可以先得出一个通俗概念,超文本就是图片,视频,音频,超链接这些信息载体。接下来看传输

传输

传输很好理解,通俗的讲,就是把一个东西从一个点传送到另一个点。放到网络上,就是把刚刚提到的超文本从客户端送到服务器端。就像进火车站需要刷身份证一样,超文本的传输也是需要有规则的,过于无序的话,本来目的地是北京的高铁,可能就会一路开到了哈尔滨了。
于是,协议就来了

协议

协议可是生活中经常出现的,就业协议,劳动协议等等,仔细想想,这些协议之间有几个特点:

  • 双方共同商议的
  • 对双方都有约束性的

这些特点,放到网络传输上,也是行得通的。

阶段性总结

拆解完了,超文本传输协议的定义也就呼之欲出了,组织一下语言,加上大背景在计算机世界里,于是就有了:
在计算机世界里,用来在端到端之间传输图片,文字,视频等超文本的规范和约定
不过,还没有结束,我们自己的定义只能帮助自己理解,想要教科书版的定义,还需要轻点一下百度,输入Http。严谨定义如下:

在这里插入图片描述
很官方,有些许繁琐,但是还是希望大家能够理解其中的含义。

Http的历史和版本

因为没什么重点,本来想着直接跳过历史和版本这一块,但纵观古今中外,以史为鉴已经成了人类进步的必备法则,下面就来快速看看过去的Http是什么样子的:

初代Http-Http 0.9

此时的Http,讲究的就是简洁,当时只是处理文字的无序协议,图片也无法处理。后来需求的增加迫使Http不断发展,所以啊,哪有什么技术驱动型公司,都是业务驱使

Http新纪元-Http 1.0

1982年,由TimBerners-Lee提出,双方规定了连接方式和连接类型,每一次请求/响应建立并拆除一次连接。简单,好管理,应用开始广泛了。

互联网时代的Http-Http 1.1

使用了长连接改善了1.0时代的短链接造成的性能开销,支持管道网络传输,不用等第一个访问回来就可以发起第二个访问,效率高了。想要看更详细的可以点击下面的地址
https://tools.ietf.org/html/rfc2616

基于Https的Http-Http 2.0

Https是什么先不管,Http 2.0最显著的特点就是更安全了,并且有头部压缩,采用二进制格式,数据流,多路复用,服务器推送等等一系列优点。同样的,想要深入了解,点击下方
https://tools.ietf.org/html/rfc7540

状态码

看完了历史,下面该开始一点点进入正题了,为什么选择状态码切入,因为熟啊
这样的404
在这里插入图片描述
这样的404

在这里插入图片描述

以及这样的404在这里插入图片描述
那么,问题来了,大家都知道网站无法访问的时候回跳出来404。那么404到底是个啥?
tips:如果用的是Chrome,可以网线拔了,操控小恐龙打发一下时间:
在这里插入图片描述
最高分548,应该还可以吧。回到正题,看看包含404的状态码们到底是啥。

含义

上文提到,Http本身是一个请求响应协议,状态码就是服务器响应状态的3位数字码。一般会分为五类,如下:

分类

  • 1XX:请求已接收,处于协议处理的中间状态,需要后续的处理。比如100 Continue,101 Switching Protocols等等,此类状态码使用不多。
  • 2XX:做开发的小伙伴大概最喜欢这类状态码了,大部分时候都代表着调试成功了。此类状态码代表着请求被服务器接收,理解,并接受。举个例子
    • 200 OK:请求成功
    • 204 No Content:和200基本一致,但是没有body数据。
  • 3XX:重定向,资源的位置发生了变动,需要客户端重新发送请求。浏览器在接收重定向响应的时候,会去访问新的URL,此时会有小部分性能损失,对于用户来说,是不可见的。举几个例子
    • 300 Multiple Choices:被请求的资源有一系列可供选择的回馈信息。
    • 302 Move Temporarily:请求的资源临时从不同的URL响应请求

更加详细的重定向可以看看 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Redirections

  • 4XX:属于404 的分类出现了,此类错误指的是客户端发生错误,服务器无法处理
    • 400 Bad Request:客户端报文错误
    • 403 Forbidden:服务器禁止访问资源
    • 404 Not Found:请求的资源不在服务器上或者未找到,虽然4XX分类是客户端错误,但是这一条和客户端没啥关系
  • 5XX:指的是客户端正确,但是服务器内部发生了错误
    • 501:Internal Server Error:服务器遇到了未知错误,一般情况下,可能是源码出现了问题
    • 502:Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
    • 503:Service Unavailable:服务器表示,我很忙,待会再试

看完了这些状态码,那么怎么才能在真实场景中看到呢?最简单的方法,打开Chrome(如果没有的话,最好下一个),按下F12,点击NetWork那个Tab,在选取其中一个请求之后,点击Headers,找到Status Code,就是当前请求的状态码了。
在这里插入图片描述

结束语

第一篇就到这吧,用自己方式讲了一些和平常较为相关的简单的点,从第二篇开始将会进行详细的分析。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值