什么是http协议

1、概念

http协议超文本传输协议 。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。超文本是超级文本的缩写,是指超越文本限制或者超链接,如:图片、音乐、视频、超链接等等都属 于超级文本。

作用:

它规定了浏览器和 Web 服务器通信数据的格式,也就是说浏览器和web服务器通信需要使用http协 议。

2、HTTP请求报文组成

一个HTTP请求报文可以由请求行、请求头、空行和请求体4个部分组成

请求行是由三部分组成:.

1.请求方式

2.请求资源路径

3.HTTP协议版本

3、GET和POST请求效果对比

GET方式的请求报文没有请求体,只有请求行、请求头、空行组成

POST方式的请求报文可以有请求行、请求头、空行、请求体四部分组成,注意:POST方式可以允许没有请求体,但是这和格式很少见

GET和POST请求对比效果:

GET方式:请求行,请求头,空行;

POST方式:请求行,请求头,空行,请求体。

4、HTTP 状态码示例

一个HTTP响应报文是由响应行、响应头、空行和响应体4个部分组成。

HTTP 状态码是用于表示web服务器响应状态的3位数字代码。

状态码 说明

200 请求成功

307 重定向

400 错误的请求,请求地址或者参数有误

404 请求资源在服务器不存在

500 服务器内部源代码出现错误

5、http中POST和GET的区别

GET和POST还有一个重大区别,简单的说:

GET产生一个TCP数据包;POST产生两个TCP数据包。

长的说:

● 对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

● 而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,先去和服务器打个招呼"嗨,我等下要送一批货来,你们打开门迎接我",然后再回头把货送过去。

因为POST需要两步,时间上消耗的要多一点,看起来GET比POST更有效。因此Yahoo团队有推荐用GET替换POST来优化网站性能。但这是一个坑!跳入需谨慎。为什么?

  1. GET与POST都有自己的语义,不能随便混用。
  2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。
  3. 并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。
相关推荐
l1x1n08 分钟前
网络安全概述:从认知到实践
网络
鄃鳕9 分钟前
HTTP【网络】
网络·网络协议·http
蜡笔小新星22 分钟前
Python Kivy库学习路线
开发语言·网络·经验分享·python·学习
读心悦2 小时前
如何在 Axios 中封装事件中心EventEmitter
javascript·http
小白爱电脑2 小时前
WIFI网速不够是不是光猫的“路由模式”和“桥接模式”配置错了?
网络·智能路由器·桥接模式
CXDNW3 小时前
【网络篇】计算机网络——应用层详述(笔记)
服务器·笔记·计算机网络·http·web·cdn·dns
qxqxa3 小时前
cfg80211是怎么配置无线设备的AP的?
网络·驱动开发
秋夫人4 小时前
http cache-control
网络·网络协议·http
叶北辰CHINA5 小时前
nginx反向代理,负载均衡,HTTP配置简述(说人话)
linux·运维·nginx·http·云原生·https·负载均衡
不灭锦鲤6 小时前
ssrf学习(ctfhub靶场)
网络·学习·安全