HTTP网络基础

本文详细介绍了TCP/IP协议族的分层结构,包括应用层的HTTP协议、传输层的TCP协议、网络层的IP协议以及链路层的作用。TCP协议通过三次握手确保数据传输的可靠性,而IP协议则负责数据包的传输和路由选择。DNS协议用于将域名解析为IP地址,URI和URL则用于资源的定位。理解这些协议的工作原理对于网络通信至关重要。
摘要由CSDN通过智能技术生成
  1. 有了对TCP/IP协议族分层的了解,本地客户端在向服务器端发送相关请求时需要经过四层传达,分别是应用层,传输层,网络层以及链路层。TCP/IP协议族中的每个协议都在这四层当中的某一层起作用,http协议处于应用层,TCP协议处于传输层,IP协议处于网络层,各种相关硬件驱动、通信电缆,物理器件处于链路层。
  2. IP协议
    IP协议的作用是传输数据包,一边中转一边送
    IP协议不是IP地址
    需要使用ADP协议获取对方IP地址的MAC地址
    IP 间的通信依赖 MAC 地址
    任何一台计算机或路由器都不能完全获知整个传输情况,这种情况被称为路由选择。
  3. TCP协议
    TCP是为了保证更为可靠的传输
    TCP协议的作用是将HTTP发来的大块数据分段成报文段形式的数据包进行更为方便的传输
    TCP通过三次握手来加强传输的可靠性
    第一次握手,由客户端(准确来说是发送端)向服务器端(准确来说是接收端)先发送一个带有SYN标志位的数据包
    第二次握手,由接收端向发送端回传一个带有SYN/ACK标志位的数据包,以表示收到信息
    第三次握手,发送端再回传一个带有ACK标志的数据包,代表握手结束
    拓展问答:
    为什么需要三次握手而不是2次或4次:
    因为对于客户端client来说,发送的报文请求没有丢失,而是在网络中的某个中专节点被长时间的滞留了,延误到连接释放的某个时间到达服务器端server。这时候server会向client发送一个确认信息,假设不采用“三次握手”,那么只要server发出确认,新的连接就建立了。由于现在client并没有发出建立连接的请求,因此不会理睬server的确认,也不会向server发送数据。但server却以为新的运输连接已经建立,并一直等待client发来数据。这样,server的很多资源就白白浪费掉了。采用“三次握手”的办法可以防止上述现象发生。
    这个问题的本质是, 信道不可靠, 但是通信双发需要就某个问题达成一致. 而要解决这个问题, 无论你在消息中包含什么信息, 三次通信是理论上的最小值. 所以三次握手不是TCP本身的要求, 而是为了满足"在不可靠信道上可靠地传输信息"这一需求所导致的. 请注意这里的本质需求,信道不可靠, 数据传输要可靠. 三次达到了, 那后面你想接着握手也好, 发数据也好, 跟进行可靠信息传输的需求就没关系了. 因此,如果信道是可靠的, 即无论什么时候发出消息, 对方一定能收到, 或者你不关心是否要保证对方收到你的消息, 那就能像UDP那样直接发送消息就可以了
  4. DNS协议
    将便于人脑记忆的域名解析成相应的IP地址,然后发送端向此IP地址发送请求
  5. HTTP协议
    HTTP协议是处于应用层的协议。主要的作用是形成报文请求
  6. URI解析
    URI全称为uniform resources identifier,统一资源标识符,一般的我们熟悉的协议是URL(uniform resources locator)
    URL与URI的区别在于:URI表示某个协议方案的资源的定位符。而URL表示资源的地址
    URL是URI的子集。
    综上所述,URI 就是由某个协议方案(可以是HTTP/FTP/…)表示的资源的定位标识符,一般来说我们根据URI来定位资源的时候,可以使用绝对地址/相对地址
    绝对地址的形式一般为:
    http://user:pass@www.example.jp:80/dir/index.htm?uid=1#ch1
    http:协议类型,还可以是ftp等其他协议,不区分大小写
    use:pass :登录认证(可选)
    pass@www.example.jp:服务器地址,在绝对URI中必须采用指定,可以是可解析的域名,或直接是相应的IP地址。
    80服务器连接端口号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值