HTTP、请求与响应

       HTTP全称HyperText Transfer Protocol,超文本传输协议。在维基百科上的定义为:HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。

      简单来说,就是客户端通过浏览器发起一个请求到服务器80端口,服务器接收到请求就会响应相关的内容给浏览器下载响应的内容,HTTP的作用就是指导浏览器和服务器如何沟通。

下面介绍一下请求和响应:

请求

       一.请求一般包括四部分:

          ·动词 路径 协议/版本

          ·Key: value

          ·(回车)

          ·要上传的数据(可无)

       方法1.用curl命令来做一个请求。打开终端,输入命令:curl -s -v -- "https://www.baidu.com",可以得到:

如图:第一部分为GET / HTTP/1.1;第二部分为Host/User-Agent/Accept及其对应的value;第三部分为最后一行的回车

      方法2:用Chrome开发者工具查看请求,步骤如下:

(1)打开浏览器页面,右键-检查-找到Network并点击,如下图


(2)在地址栏输入一个URL并回车,以https://www.baidu.com为例,得到以下页面后,找到Request Headers,并点击旁边的view source 


(3)即可看到我们输入的请求:


       另外需要了解的地方还有三点:

      (1)路径包括「查询参数」,但不包括「锚点」。例如:https://www.baidu.com/s?wd=Hello&rsv_spt=1#5(https指使用的协议,www.baidu.com代表域名,/s为路径,wd=Hello&rsv_spt=1为查询参数,#5为锚点。锚点可以定位到页面的某一位置。);

     (2)如果你没有写路径,那么路径默认为 /;

     (3)第 2 部分中的 Content-Type 标注了第 4 部分的格式

       2.请求的方法一般有以下几种:GET(获取;向指定的资源发出“显示”请求)、POST(上传;向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件))、PUT(整体更新)、PATCH(局部更新)、DELETE(删除;请求服务器删除Request-URI所标识的资源),另外还有HEAD、OPTIONS等。

响应

     一、客户端发出请求后一般都会得到响应。响应也包括四部分:

            ·协议/版本号 状态码 状态解释

            ·Key: value

            ·(回车)

            ·要下载的内容

         对应上面请求的方法1,我们可以得到如下图的响应:


如图,第一部分为:HTTP/1.1 200 OK;第二部分为Accept-Range~Set-Cookie的内容;第三部分为回车;第四部分为<!DOCTYPE html>及其后面的部分

        同样地对应上面的方法二:

      (1)在地址栏输入一个URL后,看到下面的页面,找到Respond Header,并点击旁边的view source:


         即可得到以下页面:


以上就是服务器根据我们的请求响应的内容

       (2)点击Response 或者 Preview就会看到响应的第 4 部分


      另外需要了解的地方有两点:

      (1)第 2 部分中的 Content-Type 标注了第 4 部分的格式

      (2)第 2 部分中的 Content-Type 遵循 MIME 规范


最后说一下如何使用curl命令

第一个方法:curl -s -v -H "xxxx: xxx" -- "https://www.baidu.com" 。这个方法在上面的例子我们已经运用过了(H "xxxx: xxx"这一部分可以省略)

第二个方法:curl -X POST -s -v -- "https://www.baidu.com"。(>后的是请求,<后的是响应,下同)下图可以看到由于我们是要POST,那么请求的动词就变成了POST,响应的内容也有所不同,但是格式还是那四部分


第三个方法:curl -X POST -d "1234567890" -s -v -- "https://www.baidu.com"。下图可以看到这次我们添加了要post的数据,此时请求的第二部分多了Content-Length(内容长度)和Content-Type(内容类型)


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 223,567评论 6 521
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 95,644评论 3 401
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 170,540评论 0 366
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 60,466评论 1 300
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 69,481评论 6 399
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,026评论 1 314
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,414评论 3 426
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,376评论 0 278
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,914评论 1 322
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,967评论 3 343
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,104评论 1 354
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,758评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,429评论 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,920评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,038评论 1 275
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,586评论 3 380
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,129评论 2 362

推荐阅读更多精彩内容