zoukankan      html  css  js  c++  java
  • 了解web及网络基础

      从这里开始,接下来的都是关于HTTP的介绍。为了尽可能的理解HTTP协议,笔记将结合图解来描述讲解HTTP。关于web以及HTTP的历史有兴趣的可以自行百度。这里就略过了。

    认识HTTP

      HTTP是一种超文本传输协议(Hypertext Transfer Protocol),从字面上还可以这样理解:超文本(Hypertext),传输(Transfer),协议(Protocol)。

    关系如下:

     网络基础TCP/IP

      在深入了解HTTP之前,先来了解一下TCP/IP协议族。

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

      计算机与网络设备想要互相通信,则双方要基于相同的方法、规则。不同硬件、操作系统之间的通信,这所有的一切都需要一种规则,在这里我们统称为协议(Protocol)。

     

     TCP/IP的分层管理

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

    应用层:

    决定了向用户提供应用服务是通信的活动.TCP/IP协议族内预存了通用的应用服务.比如,FTP和DNS服务就是其中的两类.HTTP协议也在其中.

    传输层:

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

    在传输层有两个不同的协议:TCP(传输控制协议)和UDP(用户数据报协议).

    网络层:

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

    链路层(又名数据链路层,网络接口层):

    用来处理链接网络的硬件部分.包括控制操作系统,硬件的设别驱动,NIC(网络适配器,即网卡),以及光纤等物理可见部分.

     TCP/IP通信传输流

       如上图,利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。

      用HTTP距离说明,首先作为客户端在应用层发出一个想看某个web页面的请求。

      接着为了传输方便,在传输层(TCP协议)把从应用层出收到的数据(HTTP请求报文)进行分割,并在各个报文上打上标记序号以及端口号后转发各网络层。

      在网络层(IP协议),增加作为通信目的的MAC地址后转发给链路层。这样一来,发往网络的通信请求就准备齐全了。

      接收端的服务器在链路层接收到数据,按顺序往上层发送,一直到应用层,此时服务端才算真正接收到客户端发送过来的请求。

       发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层之间传输数据时,每经过一层时会将对应的首部消去。

      这种把数据信息包装起来的做法称为封装。

     
  • 相关阅读:
    ssh免密登录
    idea搭建flink环境
    idea快捷键列表
    scala对复杂json的处理
    配置三台服务器的时间同步-linux 及 ntp.conf配置文件详解
    91. Reverse Linked List 反转链表
    92. Reverse Linked List II 反转链表 II
    121. Best Time to Buy and Sell Stock 买卖股票的最佳时机
    53. Maximum Subarray最大子序和
    70. Climbing Stairs爬楼梯
  • 原文地址:https://www.cnblogs.com/qinjunlin/p/13682183.html
Copyright © 2011-2022 走看看