图解HTTP协议摘要(春水版):第一章 web及网络基础

关于图解HTTP协议摘要,全部内容上传到本人的Github,欢迎fork。

1.0 目录

1.1 使用http访问web
1.2 http诞生
1.3 TCP/IP协议
1.3.1 TCP/IP协议分层
1.3.2 TCP/IP通信过程
1.4 HTTP相关的协议:IP、TCP、DNS
1.4.1 IP协议
1.4.2 可靠的TCP协议
1.4.3 DNS服务
1.5 URI

1.1 使用http访问web

客户端: 发送请求,获取服务器资源的web浏览器。

客户端通过指定的访问地址获取服务器资源,或者上传资源到服务器。

1.2 http诞生

欧洲核子研究组织(CERN)的Dr. Tim Berners Lee提出World Wide Web,WWW有三项构建技术:

  • Standard Generalized Markup Language --> HyperText Markup Language

  • HyperText Transfer Protocol

  • Uniform Resource Locator

HTTP协议以TCP/IP协议族为基础,TCP/IP 协议族包含了连个两个设备通信所涉及到的所有软硬件上的规则。

1.3 TCP/IP协议

1.3.1 TCP/IP协议分层

TCP/IP协议分为四层:

  • 应用层
  • 传输层
  • 网络层
  • 数据链路层

应用层决定了向用户提供应用服务时的通信活动。TCP/IP协议族内预存了各类通用的应用服务,比如File Transfer Protocol、Domain Name System、Hyper Text Transfer Protocol。

传输层提供处于网络连接中的两台设备之间的数据传输。传输层有两个性质不同的协议:Transmission Control Protocol 和 User Data Protocol

网络层处理网络上流动的数据包,它规定了数据包通过怎样的路径传送到对方计算机。数据包是网络传输的最小数据单位。

数据链路层处理网络连接的硬件部分,包括控制操作系统,硬件设备的驱动,Network Interface Card,光纤等。硬件范畴上的东西都属于数据链路层。

HTTP数据传输过程.jpg

1.3.2 TCP/IP通信过程

以HTTP通信为例:

  • 应用层将HTTP数据传送到传输层;
  • 传输层将HTTP报文进行分割,并打上标记序号、端口号,再转发到网络层;
  • 网络层增加通信目的地的MAC地址,并转发给数据链路层;
  • 数据链路层内将数据包发送到目的地,再向上传送到目的地的应用层。

封装: 数据包向下层传输时,每经过一层都会加上该层所属的头部信息。

1.4 HTTP相关的协议:IP、TCP、DNS

1.4.1 IP协议

IP协议:Internet Protocol 网络层,将source的数据包发送给destination。最重要的两个依据是:IP地址和MAC(Media Access Control Address)地址。

IP地址是网络节点被分配到的地址,MAC地址是网卡所属的固定地址。IP地址会更改,但是MAC地址不会更改。

ARP协议:网络中转时,使用ARP(Address Resolution Protocol)协议,通过MAC地址来查找目标的IP地址。

1.4.2 可靠的TCP协议

TCP协议在传输层,提供可靠的字节流服务:

  • 可靠意味着:TCP协议可以确认数据是否送达。
  • 字节流服务(Byte Stream Service):为了方便传输,将大块数据分割成以报文段为单位的数据包,方便传输和管理。

为了可靠地传输,TCP协议采用了三次握手的策略(Three-way handshaking)。

首先,发送端将带有SYN标识的数据包发送给接收方;然后,接收端回传一个带有SYN/ACK标识的数据包作为确认;最后,发送端发送一个带有ACK标识的数据包,代表握手结束。

如果握手过程莫名中断,TCP协议下,发送端会再次以相同的顺序发送相同的数据包。

1.4.3 DNS服务

DNS协议和HTTP协议一样都在应用层。DNS提供域名和IP的双向查找服务。

浏览器请求服务器资源过程.jpg

1.5 URI

URI(Uniform Resource Identifier),标识了网络上所有的资源,支持多种协议: http, ftp, telnet, file, mailto等。

URL(Uniform Resource Locator),表明网络资源的位置,是URI的子集。

绝对URI的格式:

http://user:password@www.example.com:80/dir/index.html?uid=1#ch1

格式说明:

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

推荐阅读更多精彩内容