• HTTP 协议(一)之基本概念入门


    一、网络基础 TCP/IP

    计算机与网络设备要相互通信,双方就必须基于相同的方法。

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

    应用层:

    决定了向用户提供应用服务时通行的活动。

    TCP/IP 协议族内预存了各类通用的应用服务。比如,FTP和DNS服务。

    HTTP 协议也处于该层。

    传输层:

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

    在传输层有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议)和UDP(User Data Protocol,用户数据报协议)。

    网络层(网络互连层):

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

    与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线。

    链路层:

    用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用范围之内。

    利用TCP/IP协议族进行通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则从链路层网上走。

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

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

    负责传输的IP协议:

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

    作用是把各种数据包传送给对方。要确保传送到对方那里,需要满足各种条件。其中最重要的条件是IP地址和MAC(Media Access Control Address)地址。

    IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址可以和MAC地址进行配对。IP地址可变换,但MAC地址基本上不会更改。

    IP间的通信依赖MAC地址。在中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。这时就需要ARP。

    ARP(Address Resolution Protocol)协议是一种解析地址的协议,根据通信双方的IP地址就可以查出对应的MAC地址。

    注:没有人能够全面掌握互联网中的传输状况。

    确保可靠性的TCP协议:

    TCP协议提供可靠的字节流服务。

    字节流服务指为了方便传输,将大数据分割成以报文段(segment)为单位的数据包进行管理。

    可靠的传输服务是指,能够把数据准确可靠地传给对方。

    确保数据能到达目标,TCP采用了3次握手(three-way handshaking)策略。用TCP协议把数据包发送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志(flag)——SYN(synchronize)和ACK(acknowledge)。

    发送端首先发送一个带SYN标志的数据给对方。接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。最后,发送端再回传一个带ACK标志的数据包,代表“握手”结束。

    若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。

    负责域名解析的DNS服务:

    DNS(Domain Name System)服务提供域名到IP地址之间的解析服务。

    各种协议与HTTP协议的关系:

    模拟分析用户在浏览器地址栏输入网址:http://hackr.jp/xss/Web页面 的过程。

    客户端:

    1、通过DNS解析域名 hackr.jp 对应的 IP地址,比如返回 20X.189.105.112

    2、HTTP协议生成针对目标Web服务器的HTTP请求报文

    3、TCP协议将报文分割层报文段,把每个报文段可靠地传输给对方

    4、IP协议搜索对方的地址,一边中转一边传送

    服务器端:

    1、TCP协议重组到达的报文段

    2、HTTP协议对Web服务器请求的内容处理

    请求的处理结果也同样用TCP/IP通信协议向用户进行回传

    三、URI 和 URL

    URI 指(Uniform Resource Identifier,统一资源标识符)

    URL指(Uniform Resource Locator,统一资源定位符),即网页地址。

    URI用字符串标识某一互联网资源,而URL表示资源的地点(互联网上所处的位置)。即URL是URI的子集。

  • 相关阅读:
    商品销量与虚拟销量的计算方法
    EF获取当天的数据集合
    C# xml转化为类集合
    Linux下找不到动态链接库;
    STRTOK函数和STRTOK_R函数
    Ubuntu Linux 环境变量PATH设置
    关于Ubantu下使用cshell的问题解决
    realloc 使用详解(分析realloc invalid pointer、指针无效等错误)【转】
    ubuntu安装包查找及安装
    【转】MySql数据库--mysql_real_escape_string()函数
  • 原文地址:https://www.cnblogs.com/cshaptx4869/p/10646182.html
Copyright © 2020-2023  润新知