栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

初识HTTP协议

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初识HTTP协议

初识HTTP协议

文章目录
  • 初识HTTP协议
    • 一、基本概念
    • 二、挑出来的几个重点
      • (一)资源
      • (二)事务
      • (三)报文
    • 三、写在后面

一、基本概念
  1. HTTP协议是什么?
    HTTP协议是web浏览器与web服务器之间的通信协议。

  2. 为什么B(browser)/S(server)之间需要通信?
    当然是分享“学习资料”了,好吧,是访问服务器里的资源。

  3. B/S之间都聊啥?
    资源是server里很重要的一部分,那么B/S对于资源有怎样的诉求呢?这就是B/S之间聊的东西,称之为事务。
    一个HTTP事务由一条(从客户端发往服务器的)请求命令和一个(从服务器发回客户端的)响应结果组成。

  4. B/S之间处理事务的规范是啥?
    写信有格式规范,开会也有议事流程,自然而然,处理事务也有流程规范,这种格式规范称之为报文。

二、挑出来的几个重点

初识HTTP难免会有一些疑问,从第一部分的问答之间我们不难可以提取出几个关键点,比如资源、事务、报文。

(一)资源
  1. 资源千千万,该怎么分类呢?
    给资源打上标签就可以区分出资源的类型了,这个标签就叫做MIME。

    它的格式为: type/subtype

    type 表示可以被分多个子类的独立类别。subtype 表示细分后的每个类型。

    • HTML 格式的文本文档由 text/html 类型来标记。
    • 普通的 ASCII 文本文档由 text/plain 类型来标记。
    • JEPG 版本的图片为 image/jpeg 类型。
    • Apple 的QuickTime 电影为 video/quicktime 类型。
    • 微软的 PowerPoint 演示文件 application/vnd.ms-powerpoint 类型。
      详细内容参见这里
  2. 资源在哪儿?
    资源怎么定位呢?用URI(统一资源标识符)来定位,有URL和URN两种形式。

    • URL
      统一资源定位符,其格式包含三部分
      1.第一部分为方案,即协议的类型,如HTTP协议。https://
      2.第二部分为网址,如www.baidu.com
      3.其余部分指定web服务器上的某个资源。/img/flexible/logo/pc/result.png
      将以上3部分组合在一起就是资源的定位符https://www.baidu.com/img/flexible/logo/pc/result.png
      定位的是百度首页的logo图片。
    • URN
      统一资源名,(略。。。没怎么遇见过)。
(二)事务

事务是由一条请求命令和一个响应结果组成的。

  1. 请求命令?
    请求命令又叫HTTP方法,HTTP方法如下所示:
HTTP方法描述
GET从服务器向客户端发送命名资源
PUT将从来自客户端的数据存储到一个命名的服务器资源中去
DELETE从服务器中删除命名资源
POST将客户端数据发送到一个服务器网关应用程序
HEAD仅发送命名资源响应中的HTTP首部
  1. 状态码?
    每条HTTP响应结果中会携带一个状态码,状态码是3个数字,告知用户请求是否成功。一些常见的状态码如下:
HTTP状态码描述
200OK。文档正确返回
302Redirect(重定向)。到其他地方去获取资源
404Not Found(没找到)。无法找到到这个资源
(三)报文

上面提到的事务是由一条请求和一条响应组成,那么请求和响应是什么养的结构呢?
例如,上文提到状态码,响应包含状态码,但绝不是只包含状态码,还有其他什么东西呢?
这就涉及到了报文的概念,即请求和响应的规范。

HTTP 报文包含以下三个部分。

组成描述
起始行报文的第一行,请求报文中说明做什么,响应报文中说明出现什么情况
首部字段起始行后面有0个或多个首部字段,每个首部字段都由一个名字和一个值组成,两者用冒号隔开,首部以空行结束
主体空行之后是报文主体,包含所有类型的数据。包含二进制数据(照片,视频,音轨,程序),也可以是文本。

下面是报文格式范例,摘自《HTTP权威指南》

下面是用 wireshark 软件抓包的 http协议包
请求报文

响应报文

三、写在后面

初识HTTP协议,脑子里留有一个初步印象,资源,资源标识、定位符,事务,请求,响应,方法,状态码,报文等等。
还有的HTTP协议下面的TCP/IP协议,毕竟HTTP属于应用层。还有一些web结构组件,傻傻分不清楚,暂且留个小尾巴吧。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/311174.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号