入门HTTP(一)

互联网飞速发展,我们很难相信仅仅20几年前,也就是1990年,这一年 Tim Berners-Lee才 发明了用网址就能访问网页的办法,他发明了第一个网页、第一个浏览器和第一个服务器。

那么1990之前呢?人们的使用电脑只局限于不联网的工作和游戏,联网使用的最主要的就是email,所以1980年-1990年间,人们迫切的需要一种更好的上网方式,于是http在众多方案中脱颖而出,被大众所使用。

一、什么是HTTP

HyperText Transfer Protocol 超文本传输协议

HTTP的作用就是指导浏览器和服务器如何进行沟通。那么又是如何实现沟通的呢?随我来看~

如图所示,浏览器发起请求→服务器在80端口接收请求→服务器发出响应返回内容→浏览器负责下载响应内容。我们浏览器和服务器就是这样实现了交互沟通啦。

小tips:

1.80端口专门用来服务HTTP哒。

2、如下图这样的一个URL,主要就是以下几部分组成。

二、HTTP要求

1、发送请求的格式

第一部分:动词 路径 协议/版本
第二部分:key1 : value1
第二部分:key2 : value2
第二部分:key3 : value3
第二部分:Content-Type : application / x-www-form-urlencoded
第二部分:HOST: http://www.baidu.com
第二部分:User-Agent : Curl/7.54.0
第三部分:
第四部分:要上传的数据
  • 请求最多包含四部分,最少包含三部分,也就是第四部分可以空着
  • 第三部分永远都是一个回车(/n)我们需要它来清晰的划出三四部分的界限
  • 动词主要有GET(获取)、POST(上传)、PUT(整体更新)、PATCH(局部更新)、DELETE(删除)等
  • 这里的路径包括查询参数,但不包括锚点(什么是参数?什么是锚点?倒回去看看小tips)
  • 如果你没有写路径,那么路径就会默认为/
  • 第二部分的Content-Type标注了的第四部分的格式
  • 不按协议来,是会出错哒

2、如何使用chrome开发者工具查看HTTP要求呢?

a、打开Network

b、地址栏输入网址

c、点击Network,查看request,点击view source

d、这样我们就可以看到请求的前三部分了,如图所示就是GET请求的实例,我们可以对照着前面给出的标准再次理解一下。

e、如果你想看到请求的第四部分,那么在FormData或者Payload中查看

(一般上传数据,用到post请求时,是我们登陆时,需要输入用户名密码提交上去)

三、响应

我们的浏览器发出了请求,服务器自然就要响应,接下来我们就看看服务器如何响应?

1、响应的格式

第一部分:协议/版本号 状态码 状态解释
第二部分:key1 : value1
第二部分:key2 : value2
第二部分:Content-Length :17931
第二部分:Content-Type:txt/html
第三部分:
第四部分:要下载的内容

状态码要背,这是服务器对浏览器说的话

  • 1XX不常用
  • 2XX表示成功
  • 3XX一般是服务器叫你走开啦,比如301,意思是你所访问的已经永久的搬走了,比如302表示临时外出,过几天再回来,这不是叫你走开么~
  • 4XX一般是服务器对浏览器说你丫的错啦,比如404就是访问者出错了,可能网址输错了~
  • 5XX一般就是服务器自己出错啦,比如502,可能是服务器崩啦
  • 详细请看→维基百科

第二部分的Content-Type标注了第四部分的格式

3、用chrome查看响应

a、打开Network

b、地址栏输入网址

c、选中第一个响应

d、查看Response Headers,点击view source

e、这样我们就可以看到请求的前二部分了,是不是和我们的格式相同~

f、查看Response或者Preview,你会看到响应的第四部分。

注:GET要求和POST要求对应的响应可以一样,也可以不一样

响应的第四部分可以很长很长很长,比如Content-Length=17931

四、curl命令

那我们可不可以在命令行里实现这一切呢,当然可以,那就是curl命令。

curl是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。

我们输入

Curl -s -v -H "cy:XXX" -- "https://  www.baidu .com "

可以看到接着省成一大堆的代码,我们直接来到最下面就可以看到

我们可以看到这是GET请求,那么post请求呢?

输入:

Curl -XPOSt -s -v -H "cy:xxx" -- " https://www.baidu.com"

果然变成了post请求~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值