autojs怎么post协议_来我们看一看HTTP协议

竟然时隔一年没有更新文章了,无比的惭愧。实在是人太懒,又没有找到合适的主题。前段时间想写服务器并发编程来着,无奈太菜驾驭不住,刚好最近遇到 HTTP 相关的一些问题,就还挺有趣的,不如先来聊一下。


问题

首先,在工作中,你曾有过因为HTTP传参问题,和前端拼命沟通的时候吗?有没有过疑惑过框架的各种传参方式该用哪个?

然后,来看两个经典问题:①HTTP 协议是什么?②HTTP 参数传递方式(url传参、form-data、form-urlencoded、json 等)有什么异同?

我相信,每一个后端程序员,看这些问题看得都要吐了。但如果你依然做不到胸有成竹,那就再一起来看下吧。


如何看HTTP 协议

HTTP,超文本传输协议,位于应用层,通常建立于TCP协议之上(谷歌搞了个 HTTP3,基于 UDP 的),目前广泛使用的为 HTTP/1.1版本。

HTTP 协议请求格式包括请求行、请求头部、请求数据几个部分,行与行之间通过换行符分隔,如下图所示。

dac5ca64a482a408c6d444474aac26f2.png

我相信这些你早就熟知了,你肯定想说,就这?当然不,今天来点不一样的,都说眼见为实,我们今天就直接来"看一看"HTTP协议。

怎么看呢?最先想到的一定是抓包。但直接使用 tcpdump抓包会被 TCP连接的细节干扰,很难抓住重点。既然 HTTP是应用层协议,那我们就从HTTP 的下一层,即 TCP 层去看一看(今天仅考虑 HTTP/1.x)。

从 TCP 层怎么看呢?我们可以实现一个简单的 TCP 服务器,然后发送 HTTP 请求。实现 TCP 服务器的代码就很经典了,bind、listen、accept这一套操作,就是最简陋的单进程版本,PHP代码如下:(升级版则有多进程、多线程、IO复用等版本,即服务器并发编程模型)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值