热门推荐
TCP/IP协议、请求报文和响应报文
2024-11-19 03:06

TCP/IP协议、请求报文和响应报文

TCP/IP协议、请求报文和响应报文

1、计算机与网络设备相互通信

计算机与网络设备要相互通信, 双方就必须基于相同的方法。 比如:如何探测到通信目标、 由哪一边先发起通信、 使用哪种语言进行通 信、 怎样结束通信等规则都需要事先确定。 不同的硬件、 操作系统之 间的通信, 所有的这一切都需要一种规则。 而我们就把这种规则称为 协议(protocol ['prəʊtəkɒl]

2、TCP/IP

TCP/IP代表(Transmission Control Protocol)传输控制协议 /(Internet Protocol )网际协议,指的是一系列协议总称。

通常使用的网络(包括互联网)是在TCP/IP协议的基础上运作的,而HTTP属于它内部的子集。

3、TCP/IP 协议族按层次分别分为以下 4 层: 应用层、 传输层、 网络层和数据链路层。

TCP/IP协议、请求报文和响应报文

  • 应用层

    • 应用层决定了向用户提供应用服务时通信的活动。TCP/IP 协议族内预存了各类通用的应用服务。 比如,FTP(FileTransfer Protocol, 文件传输协议) 和 DNS(Domain Name System, 域名系统) 服务就是其中两类。
  • 传输层

    • 传输层对上层应用层, 提供处于网络连接中的两台计算机之间的数据 传输
  • 网络层

    • 网络层用来处理在网络上流动的数据包。 数据包是网络传输的最小数 据单位。 该层规定了通过怎样的路径(所谓的传输路线) 到达对方计 算机, 并把数据包传送给对方
  • 链路层

    • 用来处理连接网络的硬件部分。 包括控制操作系统、 硬件的设备驱动、网卡 及光纤等物理可见部分 。 硬件上的范畴均在链路层的作用范围之内。

4、举例说明

我们用 HTTP 举例来说明首先作为发送端的客户端在应用层(HTTP 协议) 发出一个想看某个 Web 页面的 HTTP 请求。接着, 为了传输方便, 在传输层(TCP 协议) 把从应用层处收到的数据(HTTP 请求报文) 进行分割, 并在各个报文上打上标记序号及端口号后转发给网络层。在网络层(IP 协议, 增加作为通信目的地的MAC 地址(Media Access ControlAddress,也叫物理地址)后转发给链路层。 这样一来, 发往网络的通信请求就准备齐全了。接收端的服务器在链路层接收到数据, 按序往上层发送, 一直到应用层。 当传输到应用层, 才能算真正接收到由客户端发送过来的 HTTP请求 如下图所示

TCP/IP协议、请求报文和响应报文

5、与HTTP 关系密切的协议 : IP、 TCP 和 DNS

  • IP(Internet Protocol) 网际协议位于网络层

    • 有人会把“IP”和“IP 地址”搞混, “IP”其实是一种协议的名称。
    • IP 协议其实就是计算机网络相互连接进行通信而设计的协议,作用是把各种数据包传送给对方,而要保证确实传送到对方那里, 则需要满足各类条件。 其中两个重要的条件是 IP 地址和 MAC地址(Media Access Control Address
    • IP 地址指IP地址被用来给网络中电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而网络中的路由器,就相当于电信局的“程控式交换机”。同时IP指明了节点被分配到的地址, MAC 地址是指网卡所属的固定地址。 IP 地址可以和 MAC 地址进行配对。 IP 地址可变换, 但 MAC地址基本上不会更改 。
    • 使用 ARP 协议凭借 MAC 地址进行通信
    • IP 间的通信依赖 MAC 地址。 在网络上, 通信的双方在同一局域网 内的情况是很少的, 通常是经过多台计算机和网络设备中转才能连接到对方。 而在进行中转时, 会利用下一站中转设备的 MAC地址来搜索下一个中转目标。 这时, 会采用 ARP 协议(Address Resolution Protocol) 。 ARP 是一种用以解析地址的协议, 根据通信方的 IP 地址就可以反查出对应的 MAC 地址。

    TCP/IP协议、请求报文和响应报文

路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线路。选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率,从而让网络系统发挥出更大的效益来。

无线路由器就是在有线路由器的基础上增加了一个无线信号发射的功能。

因为无线信号的传输范围有限,而且无线信号还会受到障碍物的阻挡,只能在小范围内使用。

  • TCP 协议

    • TCP 协议能够确保可靠性的传输,而可靠的传输服务是指, 能够把数据准确可靠地传给对方。 其实TCP 协议为了更容易传送大数据才可以把数据进行分割传输, 而且 TCP 协议能够确认数据最终是否送达到对方 。
    • TCP 协议能够确保数据到达目标
      • 为了准确无误地将数据送达目标处, TCP 协议采用了三次握手(three-way handshaking) 策略。用 TCP 协议把数据包送出去后, TCP不会对传送后的情况置之不理, 它一定会向对方确认是否成功送达。握手过程中使用了 TCP 的标志(flag) —— SYN(synchronize) 和ACK(acknowledgement) 。发送端首先发送一个带 SYN 标志的数据包给对方。 接收端收到后,回传一个带有 SYN/ACK 标志的数据包以示传达确认信息。 最后, 发送端再回传一个带 ACK 标志的数据包, 代表“握手”结束。若在握手过程中某个阶段莫名中断, TCP 协议会再次以相同的顺序发送相同的数据 。

        TCP/IP协议、请求报文和响应报文

  • DNS 域名系统

DNS(Domain(领域) Name System) 服务是和 HTTP 协议一样位于应用层的协议。 它提供域名到 IP 地址之间的解析服务。 计算机既可以被赋予 IP 地址, 也可以被赋予主机名和域名。 比如www.baidu.com 用户通常使用主机名或域名来访问对方的计算机, 而不是直接通过 IP地址访问。 因为与 IP 地址的一组纯数字相比, 用字母配合数字的表示形式来指定计算机名更符合人类的记忆习惯。但要让计算机去理解名称, 相对而言就变得困难了。 因为计算机更擅长处理一长串数字。为了解决上述的问题, DNS 服务应运而生。 DNS 协议提供通过域名查找 IP 地址, 或逆向从 IP 地址反查域名的服务 。

DNS 是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

TCP/IP协议、请求报文和响应报文

  • 总结:学习了和 HTTP 协议密不可分的 TCP/IP 协议族中的各种协议后, 我们再通过这张图来了解下 IP 协议、 TCP 协议和 DNS 服务在使用HTTP 协议的通信过程中各自发挥了哪些作用

TCP/IP协议、请求报文和响应报文

1、请求报文结构由请求报文首部和请求报文主体

TCP/IP协议、请求报文和响应报文

  • 请求报文首部由 由请求方法、 URL、请求首部字段和通用首部字段等部分构成

    请求首部字段

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cDkayYBG-1637157077887)(.请求首部字段.jpg)]

    通用首部字段(请求报文和响应报文两方都会使用的首部。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a1Gx18Td-1637157077888)(.通用首部字段.jpg)]

  • 请求报文主体 (其实就是send()方法中数据

    • TCP/IP协议、请求报文和响应报文
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7PYJq8OB-1637157077890)(.请求主体.jpg)]

2、响应报文结构由响应报文首部和响应报文主体

TCP/IP协议、请求报文和响应报文

响应首部字段

TCP/IP协议、请求报文和响应报文

通用首部字段

TCP/IP协议、请求报文和响应报文

  • 响应报文主体
    • TCP/IP协议、请求报文和响应报文

3、HTTP 首部字段是由首部字段名和字段值构成的, 中间用冒号“:” 分隔

例如, 在 HTTP 首部中以 Content-Type 这个字段来表示报文主体的 对象类型。 就以上述示例来看, 首部字段名为 Content-Type, 字符串 text/html 是字段值

  • 请求首部字段
首部字段名说明Accept用户代理可处理的媒体类型Accept-Charset优先的字符集Accept-Encoding优先的内容编码Accept-Language优先的语言(自然语言)Connection(链接)keep-alive 持久连接Content-Length请求内容的长度Content-Type请求主体的媒体类型cookie客户端中对应该媒体的cookieHost请求资源所在服务器Origin请求的发起源点是哪里Referer该页面的来源URL( 表示这个请求是从哪个URL过来的)User-Agent(代理)HTTP 客户端程序的信息 (是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识)X-Requested-WithXMLHttpRequest(表示Ajax异步请求,如果为null的话为传统的同步请求

响应首部字段

首部字段名说明Cache-Control控制缓存的行为 ( 当指定 private 指令后, 响应只以特定的用户作为对象 )Content-Encoding适用的编码方式Content-Length响应的内容长度Content-Type响应的内容类型Keep-Alive保持连接的状态 imeout:过期时间5秒 max是最多99次请求,强制断掉连接Date创建报文的日期时间Retry-After对再次发起请求的时机要求Expires响应主体过期的日期时间ServerHTTP服务器的安装信息Set-cookie服务端可以设置客户端的cookieVary代理服务器缓存的管理信息Tracecode使用的追踪代码

通用首部字段

首部字段名说明Cache-Control控制缓存的行为Request URL请求地址Request Method请求方法Status Code请求的返回状态Transfer-Encoding指定报文主体的传输编码方式Remote Address请求的远程地址Referrer Policy用来监管哪些访问来源信息 (当值为no-referrer时 访问来源信息不随着请求一起发送 ,当值为unsafe-url 无论是同源请求还是非同源请求,都发送完整的URL作为引用地址

常用的内容编码有以下几种。 gzip(GNU zip) compress(UNIX 系统的标准压缩) deflate(zlib) identity(不进行编码

格林威治是0时区。

中国是东八区,时间比格林威治的时间早八小时。

,格林威治的时间,比北京时间晚八小时。

举个例子,北京时间是今天22:00,格林威治的时间就是今天14:00

    以上就是本篇文章【TCP/IP协议、请求报文和响应报文】的全部内容了,欢迎阅览 ! 文章地址:http://www78564.xrbh.cn/quote/24097.html 
     动态      相关文章      文章      同类文章      热门文章      栏目首页      网站地图      返回首页 迅博思语移动站 http://www78564.xrbh.cn/mobile/ , 查看更多