应用层

应用层

运输层为应用程序提供端到端的会话,但不同的网络应用和应用进程之间,还需要不同的通信规则,因此在运输层之上还需要有应用层。

比如浏览器这个应用程序需要 HTTP、HTTPS 协议,而 XShell 应用需要 SSH 协议

常见的协议如下 :

  • DNS

域名系统 DNS 是互联网使用的命名系统,用来便于人们使用的机器名字转换成 IP 地址DNS 的互联网标准是 RFC 1034, 1035

  • FTP

文件传输协议 FTP 是互联网上使用的最广泛的文件传输协议

  • TFTP

TCP/IP协议族还有一个简单文件传送协议 TFTP,他是一个很小且易于实现的文件传输协议

  • TELNET

TELNET 是一个简单的远程终端协议

万维网 WWW

万维网并非某种特殊的计算机网络,万维网是一个很大规模的,联机式的信息储藏所,英文简称 Web

URI 和 URL

同一资源标识符 URI,统一资源定位符 URL ,URL 是 URI 的子集,URL 是用来表示从互联网上得到的资源位置和访问这些资源的方法, URL 一般由以下四部分组成

<协议>://<主机>:<端口号>/<路径>

可以简单这样理解,我们都知道马云是中国首富,但是我们不知道马云住哪,这里的 URI 相当于马云 (是要说出马云,就知道它是中国首富,根据 URI 就能标识),而 URL 就可以表示马云的所住地,具体哪条街哪栋房(根据 URL 就能准确定位)

我们经常输入的网址就属于 URL

网页的请求流程

  1. 浏览器先检查本机 host 文件,如果没有对应的域名 与 IP 映射
  2. 浏览器通过 DNS 查询域名对应的 IP 地址
  3. 浏览器得到服务器 IP 地址后,经过三次握手与服务器建立 TCP 连接
  4. 浏览器向服务器发出一个请求,包括 URL,协议版本号 (HTTP/1.1等),协议头 (请求的方法,客户端 cookie,agent 信息等等),协议内容等等
  5. 服务器拿到请求后, 根据请求中的内容找相应的数据, 如果不能正常拿到,返回一个错误码(例如404), 如果能正常拿到, 返回数据
  6. 如果服务器一个数据包无法存放需要返回的所有数据, 就会分次发送, 浏览器每接收一个数据包就会向服务器返回一个 ACK 确认报文段
  7. 当请求完毕后, 服务器就默认关闭了 TCP 连接, 但是如果有 Connection:keep-alive, 则不会关闭 TCP, 下次有请求的时候还是用同一个连接了
  8. 浏览器拿到返回的数据后,开始渲染 HTML 数据并展示给用户了

HTTP 协议

HTTP 是超文本传输协议。它定义了浏览器怎样向服务器请求页面及服务器怎样数据把传送给浏览器。 HTTP 连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”

目前使用最广泛的 HTTP 版本为 1.1,它于 1997 年发布,HTTP 传送的数据一般是就是 HTML,使用的默认端口为 80

位于应用层的 HTTP 协议使用的运输层协议是 TCP ,保证数据的可靠性(但是不保证数据的安全性)

HTTP 协议是无状态的,也就是说,同一个客户端第二次访问同一个服

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值