TCP/IP和HTTP协议

TCP/IP
OSI 七层模型在提出时的出发点是基于标准化的考虑,而没有考虑到具体的市场需求,使得该模型结构复杂,部分功能冗余,因而完全实现 OSI 参考模型的系统不多。而 TCP/IP 参考模型直接面向市场需求,实现起来也比较容易,因此在一经提出便得到了广泛的应用。基于 TCP/IP 的参考模型将协议分成四个层次,如下图所示,它们分别是:网络访问层、网际互联层、传输层、和应用层。
① 应用层
TCP/IP 模型将 OSI 参考模型中的会话层、表示层和应用层的功能合并到一个应用层实现,通过不同的应用层协议为不同的应用提供服务。例如:FTP Telnet DNS SMTP 等。
② 传输层
该层对应于 OSI 参考模型的传输层,为上层实体提供源端到对端主机的通信功能。传输层定义了两个主要协议:传输控制协议(TCP )和用户数据报协议( UDP )。其中面向连接的 TCP 协议保证了数据的传输可靠性,面向无连接的 UDP 协议能够实现数据包简单、快速地传输。
③ 网际互联层
网际互联层对应 OSI 参考模型的网络层,主要负责相同或不同网络中计算机之间的通信。在网际互联层, IP 协议提供的是一个可靠、无连接的数据报传递服务。该协议实现两个基本功能:寻址和分段。根据数据报报头中的目的地址将数据传送到目的地址,在这个过程中 IP 负责选择传送路线。除了 IP 协议外,该层另外两个主要协议是互联网组管理协议(IGMP )和互联网控制报文协议( ICMP )。
④ 网络接入层
网络接入层的功能对应于 OSI 参考模型中的物理层和数据链路层,它负责监视数据在主机和网络之间的交换。事实上,TCP/IP 并未真正描述这一层的实现,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与 TCP/IP 的网络接入层进行连接,因此具体的实现方法将随着网络类型的不同而有所差异。

HTTP协议

HTTP 简介
HTTP 协议是 Hyper Text Transfer Protocol (超文本传输协议)的缩写 , 是用于从万维网( WWW:WorldWide Web )服务器传输超文本到本地浏览器的传送协议。。
HTTP 是一个基于 TCP/IP 通信协议来传递数据( HTML 文件 , 图片文件 , 查询结果等)。
HTTP 工作原理
HTTP 协议工作于客户端 - 服务端架构上。浏览器作为 HTTP 客户端通过 URL HTTP 服务端即 WEB 服务器发送所有请求。
Web 服务器有: Apache 服务器, IIS 服务器( Internet Information Services )等。
Web 服务器根据接收到的请求后,向客户端发送响应信息。
HTTP 默认端口号为 80 ,但是你也可以改为 8080 或者其他端口。
HTTP三点注意事项:
HTTP 是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收
到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
HTTP 是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据
都可以通过 HTTP 发送。客户端以及服务器指定使用适合的 MIME-type 内容类型。 HTTP 是无状态: HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态
意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
另一方面,在服务器不需要先前信息时它的应答就较快。
以下图表展示了 HTTP 协议通信流程:
HTTP 消息结构
HTTP 是基于客户端 / 服务端( C/S )的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请 求/ 响应协议。
一个 HTTP" 客户端 " 是一个应用程序( Web 浏览器或其他任何客户端),通过连接到服务器达到向服务器发送一个或多个HTTP 的请求的目的。
一个 HTTP" 服务器 " 同样也是一个应用程序(通常是一个 Web 服务,如 Apache Web 服务器或 IIS 服务器等),通过接收客户端的请求并向客户端发送HTTP 响应数据。
HTTP 使用统一资源标识符( Uniform Resource Identifiers, URI )来传输数据和建立连接。
一旦建立连接后,数据消息就通过类似 Internet 邮件所使用的格式 [RFC5322] 和多用途 Internet 邮件扩展 (MIME) [RFC2045] 来传送。
客户端请求消息
客户端发送一个 HTTP 请求到服务器的请求消息包括以下格式:请求行( request line )、请求头部
header )、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。
服务器响应消息

HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

HTTP 请求方法

根据 HTTP 标准, HTTP 请求可以使用多种请求方法。
HTTP1.0 定义了三种请求方法: GET, POST HEAD 方法。
HTTP1.1 新增了六种请求方法: OPTIONS PUT PATCH DELETE TRACE 和 CONNECT 方法。
HTTP 响应头信息
HTTP 请求头提供了关于请求,响应或者其他的发送实体的信息。
在本章节中我们将具体来介绍 HTTP 响应头信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/5632.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文掌握:Clipboard API ,让前端顺畅操作剪贴板,无论怎么复制,都显示你网站信息。

一、Clipboard API是什么 Clipboard API 是一个 Web API,它提供了一种在网页上读取和写入剪贴板内容的方式。通过 Clipboard API,网页可以访问用户的剪贴板,从中读取文本、图像或其他数据,并且可以将数据写入剪贴板,以…

计算机毕业设计python_django宠物领养系统z6rfy

本宠物领养系统主要包括两大功能模块,即管理员模块、用户模块。下面将对这两个大功能进行具体功能需求分析。 (1)管理员:管理员登录后主要功能包括个人中心、用户管理、送养宠物管理、地区类型管理、失信黑名单管理、申请领养管理…

封装umi-request时通过 AbortController 配置取消请求

一、关键部分 一、在封装的request.ts中 声明一个 abortControllers 对象用于存储要取消的请求(我用了-s表示复数,多个abortcontroller对象,与下面👇的单个abortController区分)封装取消请求的函数cancelRequest, 传入…

038——基于STM32和I.MX6uLL实现uart控制GPS(失败者总结)

目录 1、GPS模块简介 2、GPS数据格式 3、方案梳理 1、GPS模块简介 全球定位系统(Global Positioning System, GPS)是一种以空中卫星为基础的高精度无线电导航的定位系统,它在全球任何地方以及近地空间都能够提供准确的地理位置、车行速度及精确的时间…

邦注科技 温控箱对企业的重要性

注塑加工是将加热的熔融塑料注入模具中形成所需产品的工艺过程。良好的注塑加工工艺需要控制好许多参数,其中最重要的因素之一就是模具的温度。模具温度的不稳定会导致产品尺寸大小、表面缺陷等方面的问题,甚至会导致生产不良品,加大生产成本…

【webrtc】MessageHandler 5: 基于线程的消息处理:以PeerConnection信令线程为例

peerconn的信令是通过post 消息到自己的信令线程消息来处理的PeerConnectionMessageHandler 是具体的处理器G:\CDN\rtcCli\m98\src\pc\peer_connection_message_handler.hMachinery for handling messages posted to oneself PeerConnectionMessageHandler 明确服务于 signalin…

数据仓库和数据仓库分层

一、数据仓库概念 数据仓库(Data Warehouse),可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业&#…

CGAL 点云数据生成DSM、DTM、等高线和数据分类

原文链接 CGAL 点云数据生成DSM、DTM、等高线和数据分类 - 知乎 在GIS应用软件中使用的许多传感器(如激光雷达)都会产生密集的点云。这类应用软件通常利用更高级的数据结构:如:不规则三角格网 (TIN)是生成数字高程模型 (DEM) 的基础,也可以利…

2024深圳杯数学建模竞赛A题(东三省数学建模竞赛A题):建立火箭残骸音爆多源定位模型

更新完整代码和成品完整论文 《2024深圳杯&东三省数学建模思路代码成品论文》↓↓↓(浏览器打开) https://www.yuque.com/u42168770/qv6z0d/zx70edxvbv7rheu7?singleDoc# 2024深圳杯数学建模竞赛A题(东三省数学建模竞赛A题&#xff0…

PyVista 3D数据可视化 Python 库 简介 含源码

Pyvista是一个用于科学可视化和分析的Python库 ;我认为它适合做一些网格数据的处理; 它封装了VTK(Visualization Toolkit)之上,提供了一些高级接口, 3D数据可视化变得更加简单和易用。 1.安装 pyvista&…

开发一个语音聊天社交app小程序H5需要多少钱?

社交,即时通讯APP系统。如何开发一个社交App||开发一个即时通信应用是一项复杂而充满挑战的任务,需要考虑多个技术、开发时间和功能方面的因素。以下是一个概要,描述了从技术、开发时间和功能角度如何开发这样的应用: 1. 技术要点…

70.网络游戏逆向分析与漏洞攻防-角色与怪物信息的更新-整理与角色数据更新有关的数据

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果 现在的代码都是依据数据包来写的,如果看不懂代码,就说明没看懂数据包…

基于python的舞蹈经验分享交流网站django+vue

1.运行环境:python3.7/python3.8。 2.IDE环境:pycharmmysql5.7/8.0; 3.数据库工具:Navicat11 4.硬件环境:windows11/10 8G内存以上 5.数据库:MySql 5.7/8.0版本; 运行成功后,在浏览器中输入&am…

新唐的nuc980/nuc972的开发3-官方源码编译

上一节中bsp已经安装,交叉环境已经搭建,理应就可以正常的编写上层的应用程序啦。 但是系统启动次序是- uboot-> kernel内核 ->挂载文件系统 ->上层应用程序 下面是bsp安装后的文件: 因此本章节,将讲解 uboot-> kerne…

刷代码随想录有感(51):从中序和后序前序和中序构造二叉树

中后题干: 第一步:如果数组大小为零的话,说明是空节点了。 第二步:如果不为空,那么取后序数组最后一个元素作为节点元素。 第三步:找到后序数组最后一个元素在中序数组的位置,作为切割点 第四…

Large Language Models for Test-Free Fault Localization

基本信息 这是24年2月发表在ICSE 24会议(CCF A)的一篇文章,作者团队来自美国卡内基梅隆大学。 博客创建者 武松 作者 Aidan Z.H. Yang,Claire Le Goues,Ruben Martins,Vincent J. Hellendoorn 标签 …

启明云端2.4寸屏+ESP32-S3+小型智能调速电动家用除草机案例 触控三档调速,能显示电压故障码

今天给大家分享个启明云端2.4寸屏ESP32-S3小型智能调速电动家用除草机案例,国外有草坪文化,这个机器能智能触控三档调速,带屏能显示电压故障码,数显档位(3档最大),触控屏,长按3秒就能…

使用 langchain 连接 通义千问 并用 fastApi 开放接口

安装 langchain 方法 https://www.cnblogs.com/hailexuexi/p/18087602 安装 fastapi fastapi 是一个用于构建高性能 Web 应用的 Python 框架,它提供了简洁、高效的 API 开发体验。 pip install fastapi 安装 uvicorn uvicorn 是一个用于运行 FastAPI 应用的服务…

C语言学习/复习37--进阶总结与题目练习

一、题目练习 1. 循环与无符号char的取值范围 注意事项:0~255 -128~127 char类的取值范围看做循环图 2.ASCLL值与循环 3.按位操作与bit位 4 .结构体的大小 注意事项:结构体嵌套结构体的大小计算 5.循环条件 6.数据类型与原反补码 7.指针访问字符串数…

商城系统推荐,如何找到一款可靠的商城系统?

如今,电商系统成为商家必不可少的营销工具,其系统在金融、外贸、零售等行业领域应用广泛。那么,作为初试水的企业又没有挑选电商系统的经验,如何找到拥有全功能、全渠道、可靠的网上商城系统呢? 我们可以先按电商系统…