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

计算机网络开发--阻塞与非阻塞、同步与异步、http协议

阻塞与非阻塞 和 同步与异步

典型的一次IP的两个阶段:数据就绪和数据读写

数据就绪:根据系统IO操作的就绪状态

系统就绪分为阻塞和非阻塞。

如果是阻塞操作,那么当前线程会被挂起,等待资源准备好。在此期间,CPU会切换到其他线程或程序去执行,直到资源可用,当前线程才会被唤醒并继续执行;

如果是非阻塞操作,当资源还未准备好时,线程不会被挂起,而是会立即返回一个错误或状态信息(例如“资源未就绪”)。线程可以继续执行其他任务,而不是等待资源准备好。这种方式可以让线程在等待资源的同时,去做其他有意义的工作。

数据读写:根据应用程序和内核的交互方式

数据读写分为同步和异步。

同步表示表示A向B请求调用网络接口IO的时候,数据的读写都是A自己完成的;

异步表示A向B请求调用一个网络IO接口时,只需要向B请求,A就可以进行自己的事情了,剩下的B会帮他完成。

在处理IO的时候,只有阻塞和非阻塞是同步IO,只有使用了特殊的API才是异步IO.

HTTP协议

http协议分为两部分:

http请求和http响应。

http请求

包含请求行、请求头、空行、请求的数据 四个部分

http请求中有两种提交数据的方式,使用的提交方式是在请求行中指定

  1. 请求行
    • 制定了提交数据的方式:post\get
  2. 请求头
    • 多个键值对
    • 客户端给服务器发送的数据描述符
  3. 空行 代表请求头已经结束了
  4. 请求的数据
    • 如果post提交数据,该位置有
    • 用get,该位置为空,请求的数据/提交的数据在请求行
getpost
从请求资源分请求静态资源,例如网页、图片、文件等请求动态的,例如用户的登录信息、上传和下载文件
从操作数据量上分析比较少,它请求的内容在请求行的第二部分,浏览器的地址栏存储数据需要缓存,缓存有上限,如果数据量太大,会造成数据丢失可以操作大数据,post提交的数据不会显示在地址栏中
从安全性容易泄露不会泄露,提交数据看不见

http响应

服务端给客户端回复数据使用的一种数据格式

组成部分也是四个部分:状态行、响应头、空行、相应数据

  1. 状态行
    • HTTP/1.1 200 ok
      • HTTP/1.1 http协议的版本
      • 200:状态码
      • OK:对状态码的描述
  2. 响应头(消息报头)
    • content-type:服务器给客户端回复的数据块格式(对于第四部分的描述)
    • content-length:服务器给客户端回复的数据块长度(对于第四部分的描述)
  3. 空行
  4. 响应数据

状态码:

1XX:指示信息,表示收到信息,继续处理

2XX:成功,理解,接受

3XX:重定向,默认进行新的请求自动做的

4XX:错误404、403

相关文章:

  • 使用 PaddleNLP 在 CPU(支持 AVX 指令)下跑通 llama2-7b或DeepSeek-r1:1.5b 模型(完成度80%)
  • VUE2与VUE3的底层监听工具对比:Object.defineProperty() (Vue 2) 与 Proxy (Vue 3)
  • 树莓派急速安装ubuntu;映射磁盘与储存磁盘文件;ubuntu映射整个工程;保存系统工作状态
  • DOM4J解析XML, 修改xml的值
  • Springboot+mybait查询功能撰写
  • prometheus自定义监控(pushgateway和blackbox)和远端存储VictoriaMetrics
  • 深度解析React Native底层核心架构与演进之路
  • 零基础keil:设置注释快捷键
  • 【RNN神经网络】序列模型与RNN神经网络
  • 2.创建QT项目
  • 算法——层序遍历和中序遍历构造二叉树
  • 前端小食堂 | Day15 - VueUse 魔法道具库
  • 【NLP 40、残差神经网络】
  • Windows下安装MongoDB 8
  • 【数据分析】读取文档(读取Excel)
  • Flux 文生图技术解析与部署实践
  • Python 魔法方法介绍
  • 网络安全常识科普(百问百答)
  • 每日Attention学习26——Dynamic Weighted Feature Fusion
  • 双指针算法专题之——有效三角形的个数
  • 南通做网站厉害的/b站推广网站mmm
  • 常用网站推荐/今天微博热搜前十名
  • 做网站的为什么不给域名和密码/免费网站seo优化
  • 巢湖网站设计/石家庄百度搜索引擎优化
  • wordpress插件分类/谷歌seo搜索引擎下载
  • 银行网站 设计方案/校园推广方案