应用层 | HTTP,HTTPS

帅旋
帅旋
关注
充电
发布于 2020-07-26 | 更新于 2024-05-16

应用层位于操作系统用户态运行,而我们前面讲到的那层是运行在操作系统内核态的:

image-20211023132415739

一般我们都是通过Socket网络API来访问内核态的各层的协议模块。

常见的应用层协议如下:

  • HTTP:Hypertext Transfer Protocol,超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法;
  • HTTPS:Hypertext Transfer Protocol Secure,安全超文本传输协,是HTTP的扩展,用于在计算机网络上进行安全的通信,并在Internet上广泛使用;
  • 流媒体:流媒体(streaming media)是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件。
  • P2P协议:Peer-to-peer,计算或联网是一种分布式应用程序体系结构,可在对等体之间划分任务或工作负载;对等方可以将其部分资源(例如处理能力,磁盘存储或网络带宽)直接提供给其他网络参与者,而无需服务器或稳定主机的集中协调。大家经常用的迅雷下载,百度网盘下载就用到了这个协议;
  • WebSocket:WebSocket是一种计算机通信协议,与HTTP不同,WebSocket可通过单个TCP连接提供全双工通信通道。WebSocket在HTML5规范中最初被称为TCPConnection,是基于TCP的套接字API的占位符。很多在线聊天室,办公协同软件都用到了WebSocket。

在应用层,大部分的开发工程师可以大展拳脚。

  • HTTP协议的实现,最经典的莫过于Tomcat服务器了,关于具体的实现,可以参考这本书:《深入剖析Tomcat》;
  • Github上面有一个WebSocket协议的Java实现,感兴趣的朋友可以研究下:Java-WebSocket[1]

更多关于应用层的相关介绍,我会后续更新,感兴趣的朋友记得关注本公众号进一步跟进学习交流哦

References


  1. Java-WebSocket ↩︎

本文作者: 帅旋

本文链接: https://www.itzhai.com/columns/network/application-layer/intro.html

版权声明: 版权归作者所有,未经许可不得转载,侵权必究!联系作者请加公众号。

×
IT宅

关注公众号及时获取网站内容更新。

请帅旋喝一杯咖啡

咖啡=电量,给帅旋充杯咖啡,他会满电写代码!

IT宅

关注公众号及时获取网站内容更新。