【计算机网络】分层模型和应用协议

这篇具有很好参考价值的文章主要介绍了【计算机网络】分层模型和应用协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网络分层模型和应用协议

1. 分层模型

1.1 五层网络模型

网络要解决的问题是:两个程序之间如何交换数据

【计算机网络】分层模型和应用协议,计算机网络,计算机网络

四层?五层?七层?

【计算机网络】分层模型和应用协议,计算机网络,计算机网络

2. 应用层协议

2.1 URL

URL(uniform resource locator,统一资源定位符)用于定位网络服务

【计算机网络】分层模型和应用协议,计算机网络,计算机网络

  • 当协议是http端口为80时,端口可以省略
  • 当协议是https端口为443时,端口可以省略
  • schemadomainpath是必填的,其他的根据具体的要求填写

2.2 HTTP

超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个广泛运用于互联网的应用层协议。

该协议包含了传递信息的模式和格式。

HTTP 协议的特点:

  • 基于TCP协议: 面向连接,安全

    TCP是一种面向连接的(建立连接之前是需要经过三次握手)、可靠的、基于字节流的传输层通信协议,在数据传输方面更安全

  • 基于请求-响应模型: 一次请求对应一次响应(先请求后响应)

    请求和响应是一一对应关系,没有请求,就没有响应

  • HTTP协议是无状态协议: 对于数据没有记忆能力。每次请求-响应都是独立的

    无状态指的是客户端发送HTTP请求给服务端之后,服务端根据请求响应数据,响应完后,不会记录任何信息。

    • 缺点: 多次请求间不能共享数据
    • 优点: 速度快

    请求之间无法共享数据会引发的问题:

    • 如:京东购物。加入购物车和去购物车结算是两次请求
    • 由于HTTP协议的无状态特性,加入购物车请求响应结束后,并未记录加入购物车是何商品
    • 发起去购物车结算的请求后,因为无法获取哪些商品加入了购物车,会导致此次请求无法正确展示数据

    具体使用的时候,我们发现京东是可以正常展示数据的,原因是使用会话技术(Cookie、Session)来解决这个问题。

2.2.1 传递信息的模式

HTTP使用了一种极为简单的消息传递模式,「请求-响应」模式。发起请求的称之为客户端,接收请求并完成响应的称之为服务器。「请求-响应」完成后,一次交互结束。

2.2.2 传递信息的格式
请求行
请求头

请求体

【计算机网络】分层模型和应用协议,计算机网络,计算机网络

举个例子:

安装插件:REST Clinet

点击 Send Request,发送请求,然后可以查看响应的响应行,响应头和响应体。

【计算机网络】分层模型和应用协议,计算机网络,计算机网络

分析关键信息:

  1. 常见的请求方法有:
请求方式 请求说明
GET 获取资源。
向特定的资源发出请求。例:http://www.baidu.com/s?wd=itheima
POST 传输实体主体。
向指定资源提交数据进行处理请求(例:上传文件),数据被包含在请求体中。
OPTIONS 返回服务器针对特定资源所支持的HTTP请求方式。
因为并不是所有的服务器都支持规定的方法,为了安全有些服务器可能会禁止掉一些方法,例如:DELETE、PUT等。那么OPTIONS就是用来询问服务器支持的方法。
HEAD 获得报文首部。
HEAD方法类似GET方法,但是不同的是HEAD方法不要求返回数据。通常用于确认URI的有效性及资源更新时间等。
PUT 传输文件。
PUT方法用来传输文件。类似FTP协议,文件内容包含在请求报文的实体中,然后请求保存到URL指定的服务器位置。
DELETE 删除文件。
请求服务器删除Request-URI所标识的资源
TRACE 追踪路径。
回显服务器收到的请求,主要用于测试或诊断
CONNECT 要求用隧道协议连接代理。
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器

GET请求和POST请求的区别:

区别方式 GET请求 POST请求
请求参数 请求参数在请求行中。
例:/brand/findAll?name=OPPO&status=1
请求参数在请求体中
请求参数长度 请求参数长度有限制(浏览器不同限制也不同) 请求参数长度没有限制
安全性 安全性低。原因:请求参数暴露在浏览器地址栏中。 安全性相对高

关于请求方法的协议原文见 HTTP/1.1规范RFC7231-Chapter4

  1. 请求路径

    path + query

  2. 协议

  3. 请求头

    Host标注了URL地址中的Domain + Port ,比如:Host: www.taobao.com

    Content-type指出客户端给服务器的请求体格式,比如:Content-Type: application/json

    比如:

    Host: 表示请求的主机名
    
    User-Agent: 浏览器版本。 例如:Chrome浏览器的标识类似Mozilla/5.0 ...Chrome/79 ,IE浏览器的标识类似Mozilla/5.0 (Windows NT ...)like Gecko
    
    Accept:表示浏览器能接收的资源类型,如text/*,image/*或者*/*表示所有;
    
    Accept-Language:表示浏览器偏好的语言,服务器可以据此返回不同语言的网页;
    
    Accept-Encoding:表示浏览器可以支持的压缩类型,例如gzip, deflate等。
    
    Content-Type:请求主体的数据类型
    
    Content-Length:数据主体的大小(单位:字节)
    
  4. 请求体

    比如:

    Content-Type: application/x-www-form-urlencoded
    
    loginId=admin&loginPwd=123123
    
    Content-Type: application/json
    
    { "loginId": "admin", "loginPwd": "123123" }
    
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryraPtlntBIqy4X2Ho
    
    ------WebKitFormBoundaryraPtlntBIqy4X2Ho
    Content-Disposition: form-data; name="loginId"
    
    admin
    ------WebKitFormBoundaryraPtlntBIqy4X2Ho
    Content-Disposition: form-data; name="loginPwd"
    
    123456
    ------WebKitFormBoundaryraPtlntBIqy4X2Ho--
    
  5. 响应码

    【计算机网络】分层模型和应用协议,计算机网络,计算机网络

    这是响应码一般情况,但实际情况还要看公司后端人为决定。

    常见的状态码有:

    1. 200 OK:一切正常。

    2. 301 Moved Permanently:资源已被永久重定向。

      你的请求我收到了,但是你要的东西不在这个地址了,已经永远的把它移动到了一个新的地址,麻烦你请求新的地址,地址我放到了响应头的Location中了

      举个例子:www.douyutv.com 重定向到 www.douyu.com。

    3. 302 Found:资源已被临时重定向。

      你的请求我收到了,但是你要的东西不在这个地址了,我临时的把它移动到了一个新的地址,麻烦你取请求新的地址,地址我放到了请求头的Location中了

      举个例子:国内 bing 的重定向(不会还有人不知道自己一直访问的是 cn.bing.com,而不是 www.bing.com,不会吧不会吧~~~)

      【计算机网络】分层模型和应用协议,计算机网络,计算机网络

    4. 304 Not Modified:文档内容未被修改。

      你的请求我收到了,你要的东西跟之前是一样的,没有任何的变化,所以我就不给你结果了,你自己就用以前的吧。啥?你没有缓存以前的内容,关我啥事

    5. 400 Bad Request:语义有误,当前请求无法被服务器理解。

    6. 403 Forbidden:服务器拒绝执行。

    7. 404 Not Found:资源不存在。

    8. 500 Internal Server Error:服务器内部错误。

  6. 响应头 - Content-Type

    Content-Type标注了附带的响应体是什么格式。

    常见的值有:文章来源地址https://www.toymoban.com/news/detail-720596.html

    1. text/plain: 普通的纯文本
    2. text/html:html文档
    3. text/javascriptapplication/javascript:js代码
    4. text/css:css代码
    5. image/jpeg:jpg图片
    6. attachment:附件
    7. 其他MIME类型

到了这里,关于【计算机网络】分层模型和应用协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络奇缘】- 计算机网络|分层结构|深入学习ISO模型

    🌈个人主页:  Aileen_0v0 🔥系列专栏: 一见倾心,再见倾城  ---  计算机网络~ 💫个人格言: \\\"没有罗马,那就自己创造罗马~\\\" 回顾链接: 这篇文章是关于深入学习OSI模型七层结构, “书山有路勤为径,学海无涯苦作舟。” 话不多说,开始学习之旅⛵吧~   目录 OSI七层结构回顾

    2024年02月05日
    浏览(44)
  • 简单认识OSI(计算机网络分层)七层模型

            学校上课讲的太笼统啥也不是,自己学的太玄学似懂非懂突然在看到了一篇公众文文章。文章从初始到现在,步步为营的遇到一个解决一个前人的问题,有了细致入微的讲述,把之前学的死东西都连起来了。 如果让你来设计网络 https://mp.weixin.qq.com/s/jiPMUk6zUdOY6eKxAjN

    2024年02月06日
    浏览(245)
  • 【网络奇缘】- 计算机网络|分层结构|深入探索TCP/IP模型|5层参考模型

    ​ 🌈个人主页:  Aileen_0v0 🔥系列专栏:  一见倾心,再见倾城  ---  计算机网络~ 💫个人格言: \\\"没有罗马,那就自己创造罗马~\\\" 目录 OSI参考模型与TCP/IP参考模型相同点 OSI参考模型与TCP/IP参考模型不同点 面向连接三阶段(建立,传输,释放) 面向无连接(直传) 通用的5层参考

    2024年02月05日
    浏览(37)
  • 4.5--计算机网络之基础篇--1.模型分层--(复习+深入)---好好沉淀,加油呀

    1.TCP/IP模型的分层 1.1.为什么要有 TCP/IP 网络模型? 对于同一台设备上的进程间通信,有很多种方式,比如有管道、消息队列、共享内存、信号等方式; 而对于不同设备上的进程间通信,就需要网络通信,而设备是多样性的,所以要兼容多种多样的设备,就协商出了一套通用

    2024年02月02日
    浏览(25)
  • 【计算机网络】应用层协议 -- HTTP协议

    协议。网络协议的简称,网络协议是通信计算机双方必须共同遵守的一组约定,比如怎么建立连接,怎么互相识别等。 为了使数据在网络上能够从源头到达目的,网络通信的参与方必须遵守相同的规则,我们称这套相同的规则为协议(protocol),而协议最终都需要通过计算机

    2024年02月15日
    浏览(30)
  • 【计算机网络】图解应用层协议

    我们前面介绍过 TCP / IP 模型的下三层,分别是 网络接入层 、 网络层 和 传输层 。它们都是为应用层服务的,传输应用层的各种数据,现在我们就来看看最高层的 应用层 。 在 TCP / IP 模型中,应用层提供的服务相当于 OSI 模型的 应用层 、 表示层 和 会话层 的服务总和。不仅

    2024年02月08日
    浏览(32)
  • 【计算机网络】应用层协议 -- 安全的HTTPS协议

    HTTPS全称为 Hyper Text Tranfer Protocol over SecureSocket Layer 。 HTTPS协议也是一个应用层协议,是在HTTP协议的基础上引入了一个加密层。 在传统的HTTP协议中,数据以明文的形式在网络上传输,这意味着敏感信息(如密码、个人信息等)可能会在传输过程中被攻击者截获和窃取。为了解

    2024年02月15日
    浏览(23)
  • 【计算机网络】应用层——HTTP 协议(一)

    个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】 本专栏旨在分享学习计算机网络的一点学习心得,欢迎大家在评论区交流讨论💌 HTTP协议全称超文本传输协议,通过浏览器和服务器进行数据交互,进行

    2024年01月23日
    浏览(33)
  • 计算机网络笔记:计算机网络体系结构(OSI七层模型、TCP/IP五层协议)

    计算机网络是一个复杂的、具有综合性技术的系统,它由计算机系统、通信处理机、通信线路和通信设备、操作系统以及网络协议等组成。为了更好地描述计算机网络结构,使计算机网络系统有条不紊地处理工作,需要定义一种较好的网络体系结构。分层结构就是一种较好地

    2024年02月07日
    浏览(37)
  • 《计算机网络》实验八 应用层相关协议分析

    实验八 应用层相关协议分析.............................................................................................. 2 一、实验目的.................................................................................................................... 2 二、实验原理.......................................................................

    2024年02月03日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包