当前位置: 首页 > news >正文

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

网络分层模型和应用协议

1. 分层模型

1.1 五层网络模型

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

img

四层?五层?七层?

img

2. 应用层协议

2.1 URL

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

img

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

2.2 HTTP

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

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

2.2.1 传递信息的模式

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

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

举个例子:

安装插件:REST Clinet

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

在这里插入图片描述

分析关键信息:

  1. 常见的请求方法有:
  • GET:获取
  • POST:提交
  • PUT:修改
  • DELETE:删除

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

  1. 请求路径

    path + query

  2. 协议

  3. 请求头

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

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

  4. 请求体

    比如:

    Content-Type: application/x-www-form-urlencodedloginId=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. 响应码

    img

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

    常见的状态码有:

    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标注了附带的响应体是什么格式。

    常见的值有:

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

相关文章:

  • Python框架之Flask入门和视图
  • streamWriter.WriteLine
  • 一键添加色彩变幻效果,视频剪辑从未如此简单!
  • Linux的简介和环境搭建
  • 你看现在的程序员,是怎么解bug的
  • CSS3背景样式
  • JAVA同城服务同城圈子真人躲猫猫系统的玩法流程
  • C++继承——圆形和圆柱体
  • 致远OA wpsAssistServlet任意文件上传漏洞复现 [附POC]
  • Java规则引擎2.1.8版本新增功能说明
  • 系列四十、请谈一下Spring中事务的传播行为
  • kubectl详解
  • QT通过url下载http地址下的文件(文件夹)
  • 测试实施运维必备知识点
  • RTSP/Onvif安防视频平台EasyNVR接入EasyNVS,出现Login error报错的解决方法
  • 在Linux环境下远程访问MeterSphere开源测试平台
  • ARPG----C++学习记录02 Section6位置,偏移,函数
  • 怎么在现货黄金交易过程中高效设置止损?
  • centos做个登录提醒
  • 由QTableView/QTableWidget显示进度条和按钮,理解qt代理delegate用法
  • pthread_cond_timedwait 修改系统时间竟会导致其提前结束
  • Linux命令超详细
  • 物理机、虚拟机、容器
  • CSS画三角形(三种方法)
  • (一)、ts 基础类型 及class类举例字符雨和实现vue的挂在#app
  • C++对象的内存分布和虚函数表
  • 小白怎么学习性能测试?一文7个知识点带你成功入门!
  • Orcad属性过滤器的使用技巧
  • 腾讯云向量数据库正式对外全量开放公测
  • Linux新建普通用户无法使用退格键与tab键