HTTP01网络各种层

网络基础

使用HTTP协议 访问Web

  • 打开浏览器输入 taobao.com
  • 套壳应用里内嵌网址
  • 命令行里 访问 www.baidu.com

HTTP的版本

  • HTTP/1.0 最早的
  • HTTP/1.1 主流的
  • 后续还有 HTTP/2.0

URI 和 URL区别

  • URI 统一资源标识符
    • 某一互联网资源,宽泛的范围
      • ftp上的某个资源
      • http服务器上的一个 txt文件
      • 等等
  • URL 统一资源定位符 (网址)

OSI7层模型和TCP/IP4层模型

OSI模型 (7层模型)

记忆口诀—— 应表会传网数物

  • 应用层
  • 表示层
  • 会话层
  • 传输层
  • 网络层
  • 数据链路层
  • 物理层

记忆一下即可,已被 TCP/IP四层模型取代

TCP/IP四层模型 (应传网数)

来个例子 豪门之间的通信

  • 豪门望族,规矩多,还得有礼仪

  • step01 写信的规则 (应用层)

1
2
3
4
5
6
尊敬的xxx:
代表我和我家和您进行问候!
邀请xxx时来一起 high

您的朋友:
yyy
  • step002 把信给管家 (传输层) ,这种小事交给管家去做
    • 豪门a的管家给豪门b的管家通通信
      • A我们家要给你们家发信了
      • B收到,你发吧
      • A收到,我发了
  • step003 邮差 (网络层)
    • B家族的地址和小区名称
  • step004 邮筒 (数据链路层)
    • 信的大小不能超过 xx寸,太大了邮筒放不进去,还要贴邮票

应用层

应用层是大多数普通与网络相关的程序为了通过网络与其他程序通信所使用的层。这个层的处理过程是应用特有的;数据从网络相关的程序以这种应用内部使用的格式进行传送,然后被编码成标准协议的格式。每一个应用层协议一般都会使用到传输层协议TCP和UDP协议之一:

运行在TCP协议上的协议:

  • HTTP(80端口),主要用于普通浏览。
  • HTTPS(443端口),HTTP协议的安全版本。
  • FTP(20和21端口),由名知义,用于文件传输。
  • POP3(110端口),收邮件用。
  • SMTP(25端口),用来发送电子邮件。
  • SSH(22端口),用于加密安全登陆用。

运行在UDP协议上的协议:

  • DHCP(67端口,动态主机配置协议),动态配置IP地址。

其他:

  • DNS(Domain Name Service,域名服务),用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上)。
  • SNMP(Simple Network Management Protocol,简单网络管理协议),用于网络信息的收集和网络管理。
  • ARP(Address Resolution Protocol,地址解析协议),用于动态解析以太网硬件的地址。

传输层

解决诸如端到端可靠性(数据是否已经到达目的地?)和保证数据按照正确的顺序到达这样的问题。TCP、UDP都是传输层协议。

网络层

解决在一个单一网络上传输数据包的问题。IP协议是网络层协议。

数据链路层

它是数据包从一个设备的网络层传输到另外一个设备的网络层的方法。这个过程能够在网卡的软件驱动程序中控制或者专用芯片中控制。这将完成如添加报头准备发送、通过实体介质实际发送这样一些数据链路功能。另一端,链路层将完成数据帧接收、去除报头并且将接收到的包传到网络层。

粗略理解 http协议

  • 打开 chrome 输入 baidu.com
  • 调试模式 network 选项
  • 选择一个http请求 右键 copy request headers/ response headers

request

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
GET / HTTP/1.1
Host: www.baidu.com
Connection: keep-alive
Cache-Control: max-age=0
sec-ch-ua: "Google Chrome";v="87", " Not;A Brand";v="99", "Chromium";v="87"
sec-ch-ua-mobile: ?0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: PSTM=1587438853; BIDUPSID=1E44DAEF1B34E707E2BCE796151A30D5; BAIDUID=212F1EB08E8B84AD626014F0EED3983F:SL=0:NR=10:FG=1; BD_UPN=123253; MCITY=-131%3A; BDUSS=taSllIdEtBckQtZWhkUVl5RVA5LUVzcERMWWJDcThRQ0w0dWl6RGhwMHVSNjFmRVFBQUFBJCQAAAAAAAAAAAEAAAA~F2-l1MbLtezh0razwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC66hV8uuoVfY0; BDUSS_BFESS=taSllIdEtBckQtZWhkUVl5RVA5LUVzcERMWWJDcThRQ0w0dWl6RGhwMHVSNjFmRVFBQUFBJCQAAAAAAAAAAAEAAAA~F2-l1MbLtezh0razwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC66hV8uuoVfY0; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; __yjs_duid=1_0f057bc5e273f735bb3b90c9f7fb3bf91608867444564; BDSFRCVID_BFESS=4iDOJeC62xkxsV7rg5g6KwgregKaGx6TH6aokUReTbdIYJeK4QwiEG0PDf8g0Ku-yxYDogKK0mOTHv8F_2uxOjjg8UtVJeC6EG0Ptf8g0M5; BDSFRCVID=u_-OJeC62CWHCSOrgOLXKwgreU1oMPQTH6aoFxh6Z3kqjmbLtEppEG0P8M8g0Ku-8Uu8ogKK0mOTHv8F_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF=fRPD_Dt5f-5_jJ7kqtbSMttfqx6betJyaR3tM56vWJ5TMCoJ3U7T0U4XbPnrXUnf55r--CjOBxJGShPC-tnP2-vBWGbWb4TLKeJJK4JM3l02VKnEe-t2ynQDebotqPRMW20jWl7mWPLWsxA45J7cM4IseboJLfT-0bc4KKJxbnLWeIJEjj6jK4JKjG0eJjvP; H_BDCLCKID_SF_BFESS=fRPD_Dt5f-5_jJ7kqtbSMttfqx6betJyaR3tM56vWJ5TMCoJ3U7T0U4XbPnrXUnf55r--CjOBxJGShPC-tnP2-vBWGbWb4TLKeJJK4JM3l02VKnEe-t2ynQDebotqPRMW20jWl7mWPLWsxA45J7cM4IseboJLfT-0bc4KKJxbnLWeIJEjj6jK4JKjG0eJjvP; delPer=0; BD_CK_SAM=1; PSINO=2; BAIDUID_BFESS=8A88B5E71009B0079D8E6B45E8F33721:FG=1; BD_HOME=1; BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; Hm_lvt_aec699bb6442ba076c8981c6dc490771=1607495989,1607755061,1608720675,1609259205; Hm_lpvt_aec699bb6442ba076c8981c6dc490771=1609259205; COOKIE_SESSION=30608_8_9_5_53_38_0_2_9_6_1_1_0_0_2_4_1609228598_1609144332_1609259204%7C9%2398408_356_1609144328%7C9; H_PS_PSSID=33423_1467_33355_33306_33261_31253_33343_33313_33312_33311_33310_33309_26350_33308_33307_33389_33370; H_PS_645EC=fc05%2B%2BlWgGb0cU%2B%2BbxUlUMSOqIsEiSUpRrm1pdbAFhR7A8t6VjcWGqbPXM8TdxnFox3C; sug=0; sugstore=0; ORIGIN=0; bdime=0; BA_HECTOR=ak2la1048h81a4a02c1fup8b50q

response

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
HTTP/1.1 200 OK
Bdpagetype: 2
Bdqid: 0xc2b78305000219a6
Cache-Control: private
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Wed, 30 Dec 2020 15:49:03 GMT
Expires: Wed, 30 Dec 2020 15:49:03 GMT
Server: BWS/1.1
Set-Cookie: BDSVRTM=116; path=/
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=33423_1467_33355_33306_33261_31253_33343_33313_33312_33311_33310_33309_26350_33308_33307_33389_33370; path=/; domain=.baidu.com
Strict-Transport-Security: max-age=172800
Traceid: 1609343343346522650614030827221594282406
X-Ua-Compatible: IE=Edge,chrome=1
Transfer-Encoding: chunked