图解HTTP(一)

TCP/IP协议族

TCP/IP是互联网相关的各类协议族的总称。

TCP/IP的分层管理
  • 按层次分别分为:应用层、传输层、网络层和数据链路层

  • 各层次的功能:
    a. 应用层:决定了向用户提供应用服务时通信的活动,常见的有FTP和DNS等。
    b. 传输层:提供处于网络连接中的两台计算机之间的数据传输,该层包含TCP和UDP两种不同的协议。
    c. 网络层:用来处理网络上流动的数据包,常见的IP。
    d. 链路层:用来处理连接网络的硬件部分。

  • 传输流程图:


    通信流程图.png
IP协议

IP协议的作用是把各种数据包传送给对方,为了保证能够正确传送给对方,这里需要两个重要的条件:IP地址和MAC地址。

  • IP地址:指明了节点被分配到的地址
  • MAC地址:网卡所属的固定地址
  • ARP协议:IP间的通信依赖于MAC地址。在网络上,通信的双方在同一局域网内的情况是很少的,通常是经过多台计算机和网络设备中转才能连接到对方,而在中转过程时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。这时候,会利用ARP协议(一种解析地址的协议),根据通信的IP地址就可以反查到对应的MAC地址。
TCP协议

TCP协议位于传输层,提供可靠的字节流服务。所谓的字节流服务是指将大块数据分割为报文段为单位的数据包进行管理。

  • 三次握手:确保数据能准确到达目标
    握手过程中使用了TCP的标志——SYN和ACK


    三次握手.png

    a.首先Client向Server发送一个SYN信号
    b.Server接收到SYN信号后,发送SYN/ACK信号给Client,这样Client就能确认Server端是正确的。
    c. Client再发送ACK给Server,这样Server就能确认Client端是正确的。

DNS服务

DNS服务是提供域名到IP地址之间的解析服务。用户通常使用主机名或域名来访问对方的计算机,而不是直接通过IP地址。

DNS服务.png
URI和URL

URI为统一资源标识符,而URL为Web浏览器等访问Web页面时需要输入的网页地址,比如,http://hackr.jp/就是一个URL。

  • URI格式


    URI格式.png

    a. 协议方案名:通常为http或https,ftp等
    b. 登录信息:指定用户名和密码作为从服务器端获取资源时必要的登录信息,为可选项
    c. 服务器地址:可以指定为域名或者IP地址
    d. 服务器端口号:可选项,若忽略,则使用默认端口号
    e. 文件路径:服务器上文件路径来定位特指的资源
    f. 查询字符串:已指定文件路径内的资源
    g. 片段标识符:已获取资源的子资源

HTTP协议
  • 请求报文


    请求报文.png
  • 响应报文


    响应报文.png
  • HTTP中可使用的方法

  1. GET:获取资源
  2. POST:传输实体主体
  3. PUT:传输文件,但自身不带验证机制,存在安全性问题
  4. HEAD:获取报文首部
  5. DELETE:删除文件
  6. OPTIONS:询问资源支持的方法


    OPTIONS.png

7.TRACE:追踪路径。发送请求时,在 Max-Forwards 首部字段中填入数值,每经过一个服 务器端就将该数字减 1,当数值刚好减到 0 时,就停止继续传输,最 后接收到请求的服务器端则返回状态码 200 OK 的响应。


TRACE.png
  1. CONNECT:要求用隧道协议连接代理。CONNECT 方法要求在与代理服务器通信时建立隧道,实现用隧道协 议进行 TCP 通信。主要使用 SSL(Secure Sockets Layer,安全套接 层)和 TLS(Transport Layer Security,传输层安全)协议把通信内容 加 密后经网络隧道传输。


    CONNECT.png
  • 持久连接:只要任意一端没有明确提出断开连接,则保持TCP连接状态,以减少TCP连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。

  • 管线化:实现并行发送多个请求,而不需要一个接一个地等待响应。

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

推荐阅读更多精彩内容

  • 图解HTTP第一章 通常使用的网络是在TCP/IP协议族的基础上运作的,而HTTP属于他内部的一个子集。 TCP/...
    投降又不会赢阅读 370评论 0 0
  • 1.OkHttp源码解析(一):OKHttp初阶2 OkHttp源码解析(二):OkHttp连接的"前戏"——HT...
    隔壁老李头阅读 20,821评论 24 176
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,629评论 18 139
  • 协议基础 协议就是计算机之间通过网络实现通信时实现所达成的一种“约定”,这种约定使得那些由不同厂商的设备,不同的C...
    d9fc24a0c9a9阅读 2,353评论 0 6
  • 这些年 我只让你看一半 为了表现端庄 我用发簪盘起长发 为了表现安份 我比候鸟更加守时 朝九晚五 跨过两个世纪 加...
    行走的卓玛阅读 152评论 0 0