• HTTP


    HTTP

    超文本传输协议,web是建立在HTTP协议上通信的

    被创建出来目的是为了解决文本传输的问题。现在被运用到各种场景

    我们使用的网络是在TCP/IP的基础上运作的。而HTTP属于它内部的一个子集。

    TCP/IP

    TCP/IP是互联网相关的各类协议族的总称。但还有别的两种说法是1.TCP和IP这两种协议2.是在IP协议的通信过程中,使用到的协议族的统称。

    TCP/IP分四层:应用层传输层网络层数据链路层

    层次化的好处:比如某个地方需要改变设计时,就必须把所有部分整体替换掉。而分层后只需要把变动的层替换掉即可

    应用层:

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

    比如FTP(文件传输协议),DNS(域名服务协议),HTTP协议也在此层

    传输层:

    提供处于网络连接中的两台计算机之间的数据传输。

    比如TCP(传输控制协议)和UDP(用户数据报协议)

    网络层:

    数据包是网络传输的最小数据单位,其作用处理在网络上流动的数据包,并在众多的选项内选择一条传输路线(寻找MAC地址)。

    链路层:

    用来处理连接网络的硬件部分。如操作系统,硬件各种设施,光纤等。硬件上的范畴均在链路层的作用范围内。

    TCP/IP的传输过程

    发送端利用封装的做法,把HTTP请求每经过一层都打上一个属于该层的首部信息。而接收端相反是每经过一层就把对应的首部消去。当传输到应用层,才能算真正接收到客户端发送过来的HTTP请求。

    与HTTP密不可分的协议:IP,TCP和DNS。

    IP协议:

    位于网络层,作用是把各种数据包传送给对方。需要满足确认IP地址和MAC地址两个条件,才能准确传送给对方。

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

    IP如何找到MAC地址是通过ARP协议,根据IP地址反查MAC地址。但是通常网络中需要中转,中转时有各种各样设备选择,这时有一种机制叫路由选择,获取粗略的传输路线。

    TCP协议:

    位于传输层,作用把大数据分割成小数据更容易传输,并且可以准确送达到对方(把大数据分成报文段为单位的数据包)。

    准确数据送达目标的方法:三次握手

    •   第一次握手,client发送SYN(syn=j)包到server,传达信息:“你好,我想建立连接”,并进入SYN_SEND状态,等待服务器确认;
    •   第二次握手,server收到SYN包,必须确认客户的SYN(ack=j+1),同时也发送一个SYN包(syn=k)即SYN+ACK报文,传达信息:“好的,可以建立链接”,此时服务器进入SYN_RECV状态;
    •   第三次握手,client收到server的SYN+ACK包,回传包ACK(ack=k+1),传到信息:“好的,我知道了,那我们连接”,此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

      然后就建立连接了。为什么会采用三次握手,若采用二次握手可以吗?或者四次甚至更多?

    DNS服务:

    和HTTP协议已于位于应用层。作业是提供域名到IP地址之间(正向和逆向)的解析服务。

    总结三种协议和HTTP协议的关系:

    URI和URL

    URL就是我们平时说的网址,而URI用来在某一规则下能把一个资源独一无二地标识出来的定位标识符。

    • URI(Uniform Resource Indentifier,统一资源标识符)
    • URL(Uniform Resource Locator,统一资源定位符)
    • URN(Uniform Resource Name,统一资源名称),例如 urn:isbn:0-486-27557-4 。

    URI 包含 URL 和 URN,目前 WEB 只有 URL 比较流行,所以见到的基本都是 URL。

  • 相关阅读:
    第六阶段·数据库MySQL及NoSQL实践第1章·章节一MySQL数据库
    小象和老鼠
    好句子啊
    LGTB 与 序列
    最小环
    精灵魔法
    C#委托之我见
    MySQL——优化ORDER BY语句
    MySQL——索引实现原理
    是什么影响了数据库索引选型?
  • 原文地址:https://www.cnblogs.com/furaywww/p/8627821.html
Copyright © 2020-2023  润新知