news 2026/6/15 15:05:51

Linux(11)(上)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux(11)(上)

一.应用层

1. 再谈协议

  • 协议是一种 "约定". socket api的接口, 在读写数据时, 都是按 "字符串" 的方式来发送接收的. 如果我们要传输一些"结构化的数据" 怎么办呢下面来解释。

2. 序列化和反序列化

  • 为什么需要:为什么需要序列化和反序列化,就是因为不同的编译器它对内存数据管理是不一致的,因此直接交换数据会出错。
  • 序列化:序列化是将内存中的复杂数据(结构体、对象等),转换为无歧义的字符串方便传输的过程
  • 反序列化:就是序列化的相反操作

二.HTTP协议

2.1 HTTP 基础知识

预备知识

  • www.baidu.com/→ 域名 → 域名解析 → IP地址

  • 183.2.172.185/→ 直接使用IP地址访问

  • 220.181.38.150/→ 另一个IP地址示例

  • 80:HTTP默认端口号(未显式写出时默认为80)

  • 443:HTTPS默认端口号未显式写出时默认为80)

URL结构

http:// user:pass@www.example.jp:80/dir/index.htm?uid=1#ch1 #URL统一资源定位器,所有网络上的资源都可以用一个唯一标识获取 http:// user:pass@ www.example.jp :80 协议名 登录信息(少用因为页面本身就有信息) 域名 端口 /dir/index.htm 文件路径(第一个/是web根目录,通常对应服务器上的某个文件夹) ?uid=1 #ch1 传递参数 片段标识符

网络行为

  • 把别人的东西拿下来(下载)

  • 把自己的东西传上去(上传)

2.2 urlencode和urldecode
  • 像 / ? : 等这样的字符, 已经被url当做特殊意义理解了。因此这些字符不能随意出现.

  • 因此,某个参数中需要带有这些特殊字符, 就必须先对特殊字符进行转义(urlencode)

  • 转义的规则如下:

    • 将需要转码的字符转为16进制,然后从右到左,取4位(不足4位直接处理),每2位做一位,前面加上%,编码成%XY格式("+" 被转义成了 "%2B")

  • urldecode就是urlencode的逆过程

2.3 HTTP的响应和请求

图中要点:

  1. Method表示我想要对资源干什么,HTTP Version表示版本号

  2. \r\n是HTTP每行的结束标记

  3. Key:value是信息格式

  4. content-Length:xx表示正文内容长度

  5. 表示分隔把请求行、请求报头分成一部分;把请求正文分成另一部分
  6. 状态码表示的是服务器响应的结果由3位数字代表,其中404大家肯定有影响,状态码描述就是对状态码的解释

例子:

1.请求

2.响应

细节讲解:

关于方法只讲这两部分,因为其常用,其他不做讲解和展示!

那二者的区别是什么呢?

首先我们需要了解在使用某些网站的时候是这么把数据传给服务器的呢,是通过表单进行提交的!

  • GET方法:我们提交的参数是通过url提交的

  • POST方法也支持参数提交,采用请求的正文提交参数

注意:

GET方法通过URL进行提参,参数数量受限的,不私密,不过POST只是更私密一点,但是同样不安全,这就是二者最大区别了

2.4 HTTP的状态码

关于这部分,我们主要了解一下即可!

最常见的状态码,比如:200(OK), 404(Not Found), 302(Redirect, 重定向), 504(Bad Gateway)

关于客户端错误码需要和大家讲一下:就是我客户端向你服务器发出请求,你做不到不应该是你的问题吗,这么能说我客户端的问题,主要是因为你客户端提出的要求服务器根本实现不了!

重定向概念:

根据图片你大概就能了解了,就是你浏览器向服务器发出请求,然后服务器发出3xx的状态码外加Location(这个是响应报头的内容),那么浏览器就会根据这个location去访问其他的服务器!

2.5 HTTP常见Header

注意:这里介绍的有请求报文独有的和响应报文独有的,还有是双方共用的

Content-Type:数据类型(text/html等)

  • 告诉对方(客户端或服务器)当前传输的数据是什么类型(MIME 类型),以便正确解析。

Content-Length:正文的长度

Host:客户端告知服务器, 所请求的资源是在哪个主机的哪个端口上;

User-Agent:声明用户的操作系统和浏览器版本信息;

  • 用于识别客户端类型,服务器判断请求是否来自爬虫的常用依据之一,不过其并不可靠容易被伪造!

location:搭配3xx状态码使用, 告诉客户端接下来要去哪里访问;

Cookie:用于在客户端存储少量信息. 通常用于实现会话(session)的功能;

  • 用户提交账号密码给服务器,然后服务器设置Cookie给浏览器,浏览器保存Cookie文件,这样下次浏览器在访问服务器就不需要登录了

  • 内存级Cookie(保存至浏览器进程当中,当关闭浏览器这个Cookie会被删除)

  • 文件级Cookie(保存至硬盘当中,到达过期时间Cookie才会被删除)

  • 为了安全现代HTTP主流采用敏感隐私信息不直接存储在客户端的 Cookie 中,而只在 Cookie 中保存一个无意义的会话标识(如 session ID),真正的用户数据由服务器安全存储(例如在内存、数据库或缓存中),并通过该标识关联。

Connection:链接类型(长连接和短连接)

  • 网页通常由很多资源组成

  • 每一个元素就是一个资源

  • 一次请求响应一个资源。关闭连接,短连接;不关闭连接,长连接

  • HTTP/1.0 默认使用短连接,但可以通过 Connection: keep-alive 扩展实现长连接

  • HTTP/1.1 默认使用长连接,但可以通过 Connection: close 关闭长连接实现短链接

  • 当客户端和服务器的 HTTP 版本不一致时,通信行为以「客户端请求中声明的版本」为准,服务器需向下兼容并据此响应。

这个只是开胃小菜,下期带来的是HTTP的知识讲解,还有为什么我们现在使用的是HTTPS而不是HTTP,他俩到底有啥区别,敬请收看下期!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/13 4:41:15

如何提升小模型推理效率?DeepSeek-R1-Distill-Qwen-1.5B优化实战

如何提升小模型推理效率?DeepSeek-R1-Distill-Qwen-1.5B优化实战 1. 背景与技术选型 在边缘计算和本地化部署场景中,如何在有限硬件资源下实现高效、高质量的推理能力,是当前大模型落地的核心挑战之一。传统大模型虽然性能强大,…

作者头像 李华
网站建设 2026/6/12 23:45:06

emwin在数控机床中的应用:实战解析

emWin在数控机床HMI中的实战落地:从卡顿到丝滑的进化之路你有没有遇到过这样的场景?操作一台五轴加工中心,点一下“程序启动”,界面却要等半秒才跳转——就在这短短一瞬间,操作员可能已经误触了下一个按钮,…

作者头像 李华
网站建设 2026/6/15 13:43:15

PS3模拟器终极配置指南:零基础入门到帧率翻倍实战

PS3模拟器终极配置指南:零基础入门到帧率翻倍实战 【免费下载链接】rpcs3 PS3 emulator/debugger 项目地址: https://gitcode.com/GitHub_Trending/rp/rpcs3 想要在PC上重温《最后生还者》、《神秘海域》等PS3经典?RPCS3模拟器是你的最佳选择&…

作者头像 李华
网站建设 2026/6/10 16:10:50

Qwen3-VL-2B视频帧分析:动态场景理解部署实践

Qwen3-VL-2B视频帧分析:动态场景理解部署实践 1. 引言 随着多模态人工智能技术的快速发展,视觉语言模型(Vision-Language Model, VLM)正逐步从静态图像理解迈向动态场景感知。在众多开源模型中,Qwen/Qwen3-VL-2B-Ins…

作者头像 李华
网站建设 2026/5/29 21:26:12

终极桌面革命:用ExplorerPatcher解锁Windows任务栏的全部潜力

终极桌面革命:用ExplorerPatcher解锁Windows任务栏的全部潜力 【免费下载链接】ExplorerPatcher 提升Windows操作系统下的工作环境 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher 你是否曾经因为Windows任务栏的局限性而感到沮丧&#…

作者头像 李华
网站建设 2026/6/13 9:04:25

AI智能文档扫描仪安装教程:HTTP按钮启动Web服务详细步骤

AI智能文档扫描仪安装教程:HTTP按钮启动Web服务详细步骤 1. 教程目标与适用场景 1.1 学习目标 本文将详细介绍如何部署并运行一个基于 OpenCV 的 AI 智能文档扫描仪,通过 CSDN 星图镜像平台一键启动 Web 服务。读者在完成本教程后,将能够&…

作者头像 李华