http协议

了解HTTP协议

HTTP协议(全称为"超文本传输协议")是处于TCP/IP五层协议栈的 应用层协议,HTTP在传输层是基于TCP的(HTTP/1 HTTP/2 是基于TCP,最新版本的HTTP/3 是基于UDP–但是当下互联网上绝大部分使用的HTTP都是HTTP/1.1,所以就这么叫)

在前面我们了解到,传输层协议,主要关注的是 端对端 之间的数据传输.

应用层协议,则是要站在程序应用的角度,要对传输的数据,来进行具体的使用,在很多的时候,应用层协议都是程序员自定制的(根据实际的需求场景,来设计协议)

只要你打开浏览器,随便一个网站,这个时候就会用到HTTP,或者是打开一个手机APP,随便加载一些数据,也会用到,所以说,HTTP具体的应用场景,基本上大家天天都在用

像我们之前学的UDP:报头(源端口,目的端口,长度,校验和) + 载荷

UDP/TCP/IP 这些协议都是属于"二进制"的协议

HTTP 则是一个文本格式的协议(不需要去理解具体的二进制位,而是理解文本的格式即可,这是方便我们用肉眼观察的)

我们可以借助一些"抓包工具"来具体查看 HTTP的报文格式

抓包工具,这是类似于"代理"一样,这个代理就相当于一个传话的(你在沙发上想买一瓶可乐来喝,你喊你的弟弟(妹妹)去帮你买,本来是应该你对老板说来瓶可乐,变成了从你弟弟(妹妹)口中说出来了,然后他们再把可乐拿给你(就是让请求和响应,都要经过"代理")),我们这里的抓包工具使用Fiddler

响应

响应也分成4个部分

1:首行:包含了三个部分

a)版本号 (HTTP/1.1)

b)200 状态码,描述了这个响应,是一个表示"成功的"还是"失败的",以及不同的状态码,描述了失败的原因

c)OK 状态码的描述,通过一个/一组简单的单词,来描述当前状态码的含义

2:响应头(header)

也是键值对结构,每个键值对占一行,每个键和值之间使用: 空格 来分割

响应头中的键值对个数,也是不确定的,不同的键值对表示不同的含义

3:空行

表示响应头的结束标记

4:响应正文(body)

服务器返回给客户端的具体数据,这里的东西可能有各种不同的格式,其中,我们最常见的格式就是 html!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 有点详细,略长。 正文从这开始~~ 本文主要帮助读者理解 HTTP 的协作原理、HTTP 相关的各层协议,在...
    videring阅读 819评论 0 0
  • 前言 如果说 TCP/IP 协议是互联网通信的根基,那么 HTTP 就是其中当之无愧的王者,小到日常生活中的游戏,...
    F麦子阅读 343评论 0 0
  • 整理了网课的PPT和老师的知识要点笔记: URL:统一资源定位符,一般来说,一个URL由5个部分构成: proto...
    yywfy的昵称阅读 1,604评论 0 0
  • 任何一个技术和知识在了解了大概之后还需要在学习和实践中不断总结、思考才能真正掌握,变成自己的东西。用自己的方式分析...
    Bobby0322阅读 681评论 1 5
  • HTTP协议简介 1.协议:指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规则或规定 2.HTTP协议:...
    angeliur阅读 654评论 0 1