为了账号安全,请及时绑定邮箱和手机立即绑定

听!HTTP的声音——请求与响应

标签:
Html/CSS

20多年用网页使用HTTP或HTTPS,除了小学微机老师说过HTTP的故事,我几乎淡忘了这个存在,我们今天就来听听它到底说了什么。

HTTP是什么?

来自维基百科的一段话

超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。

1990年英国的李爵士创作出成型的HTTP,将他自己想把世界上的每个人都通过简单的方式连接起来的梦想实现。因为有了这个协议,只要有电脑能上网的人都可以通过这个协议来互相沟通访问,不然就得下载一些乱七八糟的配置软件,要有多烦有多烦。

HTTP的请求和响应

其实严格来说并不是HTTP的请求和响应,因为他只是一个协议而已,想想看,你自己家的劳动合同能自己写东西?这个请求和响应是浏览器和服务器之间的对话,只不过他们通过HTTP的形式来沟通罢了。那为什么要用HTTP的形式沟通呢?很简单,因为其中一个说英语和汉语,一个会说德语和英语,你说他们在一起说什么语言,而HTTP的地位就相当于英语。
现在我们让看看这个文本协议的内容,了解一下浏览器和服务器是怎么沟通的。

git来听HTTP

curl在git中的用法

curl是git命令的一种,我们在命令查询里面查看一下,输入curl -s -v -H

webp

curl查询.png


这是我稍微网页翻译了一下的结果:


  • curl转到网址

  • -s安静的意思,把过程中加载和消息忽略掉(这个我们不需要)

  • -v把发送和提取显示出来(这个就是我要的)

  • -H这是什么鬼(看不懂,不理他)

curl展现响应和请求

打开git bash 我们输入curl -v -- "https://www.baidu.com"来看看。下面内容很多,我们找到这个

webp

curl得到的请求.png


怎么知道这个就是请求?


  1. 格式

  2. 前面是>

我们说下格式:
动作(Git) 路径(/) 协议/版本号(HTTP/1.1)   -- 第一部分
key1(Host):value(www.baidu.com)              -- 第二部分
key2(Usre):value(curl/7.60.0)                      -- 第二部分
......
keyn(xxx):value(xxx)                                    -- 第二部分
回车                                                                          -- 第三部分
XXXXXX(这个自己在curl加上去才有,这里就不演示了)--第四部分

还有响应

webp

curl响应.png


前面是<
格式:
协议/版本号(HTTP/1.1) 状态码(200) 状态解释(OK)-- 第一部分
key1(Accept-Ranges):value(bytes)              -- 第二部分
......
keyn(xxx):value(xxx)                                    -- 第二部分
回车                                                                          -- 第三部分
XXXXXX(服务器给你的响应数据)--第四部分
值得注意的:content-Length是返回内容长度;content-type是返回数据类型。


用chrome来听HTTP

这个方式其实很简单。

  1. 我们直接打开浏览器即可

  2. 开个新标签,打开F12,选择Network

  3. 在地址栏中输入www.baidu.com,然后回车

    webp

    chrome查看HTTP.png

  4. 点击这个www.baidu.com的GET,再点击 view source

    webp

    chrome查看HTTP -1.png

  5. 请求样式展现如图


    webp

    请求样式.png

  6. 响应样式选择Response Headers 再点击view source如图


    webp

    响应样式.png

  7. 各位稍微看看便知道,这里并没有响应的第四部分,第四部分要在Response里面看


    webp

    response.png



作者:张路1806
链接:https://www.jianshu.com/p/3be9ac4d9704


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
205
获赞与收藏
1011

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消