HTTP


title: http
date: 2018-03-11 23:45:50
tags: URL 请求 响应 URL http协议 curl


URL

URL 俗称网址 , 也就是统一资源定位符/定位地址

URL 的组成

https://www.baidu.com/s?wd=hello&rsv_spt=1#1

https 为超文本传输协议,两个电脑之间传输内容的协议 。也就是说前面的http 或者 https指的是协议

www.baidu.com 域名

/s 路径, 这个路径非计算机中文件路径。 https://www.baidu.com 这个网址默认会有一个 /的路径

wd=hello&rsv_spt=1 查询参数 ,可以点击 https://www.baidu.com/s?wd=hi&rsv_spt=1#1 会发现变成了在百度hi的内容

#1 锚点 , 将网站#1 变为 #3 ,点击 https://www.baidu.com/s?wd=hello&rsv_spt=1#3 会发现直接显示在第一行的是该搜索项网页的第三个链接 ,多次修改#后面的数字就会明白了

:80 其实这个网址还有一个端口号,http协议的服务端口号就是对应的80。https://www.baidu.com/s?wd=hello&rsv_spt=1#1:80 这个网址的效果和 https://www.baidu.com/s?wd=hello&rsv_spt=1#1是一样的。

DNS

网域名称系统(DNS,Domain Name System,有时也简称为域名)是因特网的一项核心服务,它作为可以将域名和IP
地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址数串。

例如,www.wikipedia.org是一个域名,和IP地址208.80.152.2相对应。DNS就像是一个自动的电话号码簿,我们可以
直接拨打wikipedia的名字来代替电话号码(IP地址)。我们直接调用网站的名字以后,DNS就会将便于人类使用的名字
(如www.wikipedia.org)转化成便于机器识别的IP地址(如208.80.152.2)。[1]

  • 简单理解就是,DNS 可以把 域名 转换为IP地址

两种查看域名对应IP地址的方法

nslookup baidu.com
ping baidu.com

请求

请求百度页面

F12打开控制台 查看Network

访问百度网站 ,我们点击第一个,然后点Request 右边的view


请求的格式是:

1 动词 路径 协议/版本
2 Key1: value1
2 Key2: value2
2 Key3: value3
2 Content-Type: application/x-www-form-urlencoded
2 Host: www.baidu.com
2 User-Agent: curl/7.54.0
3 
4 要上传的数据

分析请求

GET / HTTP/1.1                        动词 路径 协议/版本
Host: www.baidu.com               key1
Connection: keep-alive             key2
Cache-Control: max-age=0      key3
...   
  1. 请求最多包含四部分,最少包含三部分。(也就是说第四部分可以为空)
  2. 第三部分永远都是一个回车(\n)
  3. 动词有 GET POST PUT PATCH DELETE HEAD OPTIONS 等
    i. GET就是获取的意思
    ii. POST 就是上传的意思, 上传信息会有一个content-length : 上传的数据长度 ,然后第四部分会有上传信息的内容
    iii.
  4. 这里的路径包括「查询参数」,但不包括「锚点」
  5. 如果你没有写路径,那么路径默认为 /
  6. 第 2 部分中的 Content-Type 标注了第 4 部分的格式
  7. 如果有请求的第四部分,那么在 FormData 或 Payload 里面可以看到

响应

有请求就有响应,下面是百度的响应

  • GET 请求和 POST 请求对应的响应可以一样,也可以不一样
  • 响应的第四部分可以很长很长很长
HTTP/1.1 200 OK
Bdpagetype: 2
Bdqid: 0x8f2fe8e100013131
Bduserid: 941701595
Cache-Control: private
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Mon, 12 Mar 2018 14:49:48 GMT
...

响应的格式:

1 协议/版本号 状态码 状态解释
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下载的内容
  • 状态码要背,是服务器对浏览器说的话 ,每个记到6就好了 ,想多记可以搜HTTP状态码,看维基百科
    • 1xx 不常用

      这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送1xx响应。[4] 这些状态码代表的响应都是信息性的,标示客户应该采取的其他行动。

    • 2xx 表示成功

      200 OK
      请求已成功,请求所希望的响应头或数据体将随此响应返回。
      201 Created
      请求已经被实现,而且有一个新的资源已经依据请求的需要而创建,且其URI已经随Location头信息返回。
      202 Accepted
      服务器已接受请求,但尚未处理。
      203 Non-Authoritative Information(自HTTP / 1.1起
      服务器是一个转换代理服务器(transforming proxy,例如网络加速器),以200 OK状态码为起源,但回应了原始响应的修改版本。
      204 No Content
      服务器成功处理了请求,没有返回任何内容
      205 Reset Content
      服务器成功处理了请求,但没有返回任何内容。与204响应不同,此响应要求请求者重置文档视图。
      206 Partial Content
      服务器已经成功处理了部分GET请求。

    • 3xx 表示滚吧

      300 Multiple Choices
      被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动的商议信息。用户或浏览器能够自行选择一个首选的地址进行重定向。
      301 Moved Permanently:
      被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。
      302 Found
      要求客户端执行临时重定向 ,服务器临时换了个地址
      303 See Other
      对应当前请求的响应可以在另一个 URI上被找到,当响应于POST(或PUT / DELETE)接收到响应时,客户端应该假定服务器已经收到数据,并且应该使用单独的GET消息发出重定向。
      304 Not Modified
      表示资源未被修改,因为请求头指 定的版本If-Modified-Since或If-None-Match。在这种情况下,由于客户端仍然具有以前下载的副本,因此不需要重新传输资源。
      305 Use Proxy
      被请求的资源必须通过指定的代理才能被访问。
      306 Switch Proxy
      在最新版的规范中,306状态码已经不再被使用。

    • 4xx 表示你丫错了

      400 Bad Request
      由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。
      401 Unauthorized
      类似于403 Forbidden,401语义即“未认证”,即用户没有必要的凭据。[32]该状态码表示当前请求需要用户验证。
      402 Payment Required
      该状态码是为了将来可能的需求而预留的。
      403 Forbidden
      服务器已经理解请求,但是拒绝执行它。
      404 Not Found
      请求失败,请求所希望得到的资源未被在服务器上发现,但允许用户的后续请求。
      405 Method Not Allowed
      请求行中指定的请求方法不能被用于请求相应的资源。
      406 Not Acceptable
      请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体,该请求不可接受。

    • 5xx 表示好吧,我错了

      500 Internal Server Error
      通用错误消息,服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。没有给出具体错误信息。
      501 Not Implemented
      服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。
      502 Bad Gateway
      作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
      503 Service Unavailable
      由于临时的服务器维护或者过载,服务器当前无法处理请求。
      504 Gateway Timeout
      作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。
      505 HTTP Version Not Supported
      服务器不支持,或者拒绝支持在请求中使用的HTTP版本。
      506 Variant Also Negotiates(RFC 2295)
      由《透明内容协商协议》(RFC 2295)扩展,代表服务器存在内部配置错误,[64]被请求的协商变元资源被配置为在透明内容协商中使用自己,因此在一个协商处理中不是一个合适的重点。

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

推荐阅读更多精彩内容