【计算机网络】HTTP协议

1.HTTP是什么

HTTP协议:是前后端进行交互的桥梁,它的全称是超文本传输协议,是一种被应用广泛的应用层协议

1.1理解HTTP协议的工作过程

浏览器相当于一个客户端,网站相当于有个服务器,客户端向服务器发出HTTP请求,那么服务器在进行一系列的操作之后,产生一个响应。服务器在把这个产生的响应传给客户端。
在这里插入图片描述

  • 客户端:主动发起网络请求的一端
  • 服务器:被动接受网络请求的一端
  • 请求:客户端给服务器发的数据
  • 响应:服务器给客户端发的数据
  • 网络上的信息传输本质上就是一些光信号或者电信号进行传输

怎样理解HTTP协议的工作过程呢?

说白了,就是让传递的信息能对得上号。例如对暗号,天王盖地虎,那么对用的暗号就要是 宝塔镇河妖。 HTTP 协议规定,请求从客户端发出,最后服务器端响应该请求并返回。换句话说,肯定是先从客户端开始建立通信的,服务器端在没有接收到请求之前不会发送响应

另外HTTP还用一个重要的特点:一发一收(服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间)

在网络编程中其实还有:

  • 一发多收(类似于你在看直播,你的电视就相当于一个客户端,那么又不只你一个人看这个直播,那么就有多台客户端,只有一个传播直播的源,就是服务器,服务器向多台客户端,发出响应)。
  • 多发一收(在传输大文件的时候)
  • 多发多收

其实在这有可能大家会想到黑客利用这些特点进行D DOS攻击,其实这是两码事!

  • D DOS攻击的实质是:黑客手中可能会用很多的机器,每个机器就相当于一个客户端,黑客动用这些机器疯狂的对某一个网站不停的发送请求,导致网站过载。
  • 网站过载的原因:每个服务器处理数据的速率是有一定的上限的,如果请求的太快,请求量过大,服务器就就会吃不消。
  • 解决D DOS攻击的办法:让服务器识别出攻击请求的特征,直接对攻击请求拒绝服务。

2.抓包工具

那么我们如果想要看到实时的看到客户端和服务器之间交互的数据,那么该怎样显示呢?

使用chrome虽然能过看到浏览器和服务器之间交互的数据,但是不详细,也不方便。

向大家介绍一个抓包工具Fidder

2.1抓包工具–Fidder的使用

在我们下载好,Fiddler之后就可以进行网络抓包。
在这里插入图片描述

2.2抓包工具原理

在进行抓包的时候,服务器和客户端不会感知到自己的数据传到了Fidder,Fiddler就相当于有个客户端和服务器之间的中间人,说简单点Fiddler就是一个"房屋中介".

在这里插入图片描述

3.协议格式总结

3.1 HTTP请求

我们可以通过Fiddler抓包工具得到一个HTTP请求,这里拿联想自带的浏览器主页面为例子。

  1. 首行: 在这里插入图片描述

  2. 协议头: 在这里插入图片描述

    2.1 协议头里面是键值对结构。

    2.2 每个键值对,占一行,键和值之间使用 空格 来分割

  3. 空行:表示协议头的结束标志

  4. 协议正文:空行后面的部分,有的请求里有正文,有的没有。

3.2 HTTP响应

  1. 首行: 在这里插入图片描述

  2. 协议头(header):和请求里面的一样。协议头里面是键值对结构。 每个键值对,占一行,键和值之间使用 空格 来分割在这里插入图片描述

  3. 空行:也表示协议头的结束标志

  4. 响应正文:响应和正文往往是被显示在浏览器上的,最常见的响应正文格式,就是HTML

    很多网站返回的HTML是被压缩过的,需要进行解压。那么为什么进行压缩呢?

    因为压缩之后,网络传输的数据量就会变少,然后就更节省网络带宽。

在这里插入图片描述

3.3HTTP请求和HTTP响应的简单格式构图:

在这里插入图片描述

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小周学编程~~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值