HTTP请求和响应

1.HTTP工作原理

HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
Web服务器根据接收到的请求后,向客户端发送响应信息。
HTTP默认端口号为80,但是你也可以改为其他端口。
HTTP三点注意事项:
HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

2.HTTP请求的格式

HTTP一般有四部分组成,请求行、请求头部、空行、请求数据(其中请求数据部分可以为空),请求格式如下:

第一部分  动词 路径 协议/版本
第二部分   Key1: value1
第二部分   Key2: value2
第二部分   Key3: value3
第二部分   Content-Type: text/html
第二部分   Host: www.baidu.com
第二部分   User-Agent: curl/7.54.0
第三部分 
第四部分   要上传的数据

其中,第一部分为请求行。请求行中,动词可选的有GET、 POST、 PUT PATCH 、DELETE、 HEAD 、OPTIONS 等。路径如果你没有写,默认路径为 /。协议/版本,比如HTTP/1.1。
第二部分,请求头部,由一系列key:value值组成。如上所示的Context-Type:text/html,表示内容为text文件或者HTML文件。
第三部分,是一个回车(空行),将第二部分和第四部分分割。
第四部分,就是要上传的数据。

3.HTTP响应的格式

HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

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

其中,第一部分为状态,表示协议/版本号(如HTTP/1.1),状态码及状态信息构成。
第二部分,状态消息,由一系列key:value值组成。如上所示的Context-Type:text/html,表示内容为text文件或者html文件。
第三部分,是一个回车(空行),将第二部分和第四部分分割。
第四部分,就是要下载的数据。

4.HTTP状态码

  • 1xx 信息,服务器收到请求,需要请求者继续执行操作。
  • 2xx 成功,操作被成功接收并处理。
  • 3xx 重定向,需要进一步的操作以完成请求。
  • 4xx客户端错误,请求包含语法错误或无法完成请求。
  • 5xx 服务器错误,服务器在处理请求的过程中发生了错误。
    具体状态码含义可上网查询。

5.用chrom查看请求和响应

  • 打开chrome,F12进入开发者工具,如下图1所示:
    图1
  • 点击network选项,在搜索框输入https://www.baidu.com,并点击name下的第一行如下图2所示:
图2
  • 点击header下的Request Header选项,并点击View source选项即可看到该请求内容,如下图3所示:
    图3

    由图3可知该请求只有第一、第二、第三部分,没有第四部分。如果有请求的第四部分,那么在 FormData 或 Payload 里面可以看到。
  • 点击图2Response Header选项,并点击View Source选项,即可看到相应内容,如下图4所示:
    图4

    响应内容可通过点击Response选项查看,如下图5所示:
    图5

6.curl命令

  • curl www.baidu.com该命令将网页内容显示在命令行。如下图所示:

  • curl www.baidu.com >index.html 该命令执行的结果是将该网页下载下来并保存至index.html文件里。

  • curl -o index.html www.baidu.com 该命令的作用和上一条命令一样,也是将网页下载并保存至index.html文件里。

  • curl -I www.baidu.com 该命令是将baidu.com的响应头部显示在命令行中,如下图所示:


    如果将参数-I变成-i则显示响应头部和整个页面。

  • curl -L www.sina.com ,该命令执行的结果是将网站自动跳转至www.sina.com.cn,-L参数的作用就是自动跳转。

  • curl -v www.baidu.com-v参数可以显示一次http通信的整个过程,包括端口连接和http request头信息,如下图所示:

  • curl -c cookies.txt http://www.baidu.com/ ,该命令可以把访问网站的cookies保存在cookies.txt文件中。

  • curl -b cookies.txt http://www.baidu.com/ ,该命令则可以利用已有的cookie信息文件来访问网站。
    更多命令用法请参考https://man.linuxde.net/curlcurl.haxx.se/docs/manpage.html

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

推荐阅读更多精彩内容