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

应用层协议 HTTP

HTTP 协议

        应用层协议是程序猿自己定的. 但实际上, 已经有大佬们定义了一些现成的, 又非常好用的应用层协议, 供我们直接参考使用. HTTP(超文本传输协议)就是其中之一。

        在互联网世界中,HTTP(HyperText Transfer Protocol,超文本传输协议)是一个至 关重要的协议。它定义了客户端(如浏览器)与服务器之间如何通信,以交换或传输 超文本(如 HTML 文档)。

        HTTP 协议是客户端服务器之间通信的基础。客户端通过 HTTP 协议向服务器发送请求(response),服务器收到请求后处理并返回响应(resquest)。HTTP 协议是一个无连接、无状态的协议,即每次请求都需要建立新的连接,且服务器不会保存客户端的状态信息。

http协议是基于TCP的协议

URL

平时我们俗称的 "网址" 其实就是说的 URL

urlencode(URL 编码)  和  urldecode(URL 解码)

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

比如, 某个参数中需要带有这些特殊字符, 就必须先对特殊字符进行转义. 转义的规则如下: 将需要转码的字符转为 16 进制,然后从右到左,取 4 位(不足 4 位直接处理),每 2 位做一位,前面加上%,编码成%XY 格式

总结:将用户请求的中的字符转为符合 URL 传输要求的格式

urlencode

"hello world!" → "hello+world%21"
"价格=100" → "%E4%BB%B7%E6%A0%BC%3D100"

urldecode

"hello+world%21" → "hello world!"
"%E4%BB%B7%E6%A0%BC%3D100" → "价格=100"

例如:

"+" 被转义成了 "%2B"

urldecode 就是 urlencode 的逆过程;

HTTP 协议请求与响应格式

HTTP 请求

  • 首行: [方法] + [url] + [版本]
  • Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\r\n 分隔;遇到空行表示 Header 部分结束
  • Body: 空行后面的内容都是 Body. Body 允许为空字符串.
  • 如果 Body 存在, 则在Header 中会有一个 Content-Length 属性来标识 Body 的长度;

HTTP 响应

  • 首行: [版本号] + [状态码] + [状态码解释]
  • Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\r\n 分隔;遇到空行表示 Header 部分结束
  • Body: 空行后面的内容都是 Body. Body 允许为空字符串.
  • 如果 Body 存在, 则在 Header 中会有一个 Content-Length 属性来标识 Body 的长度; 如果服务器返回了一 个 html 页面, 那么 html 页面内容就是在 body 中.

demo1:一个http的请求和应答

相关文章:

  • 怎么自己建设公司网站宁波seo如何做推广平台
  • 海南建设大厅网站百度查询
  • 安徽网站备案网络广告营销成功案例
  • 婚纱网站页面设计网站seo快速优化
  • 济南东易日盛装饰公司seo优
  • 邢台建设局网站哈尔滨网站优化流程
  • 618风控战升级,瑞数信息“动态安全+AI”利剑出鞘
  • 无人机航电系统之语音通信技术篇
  • elk+filebeat收集springboot项目日志
  • 开疆智能CCLinkIE转ModbusTCP网关连接川崎机器人配置案例
  • 桥头守望者
  • WRF模式与Python融合技术在多领域中的应用及精美绘图;Python助力WRF自动化运行、WRF模式前后处理
  • Android Navigation 架构
  • 从虚拟机角度解释python3相对导入问题(下)
  • 创始人IP打造:知识付费领域破局的核心方法论
  • 服务器安装指南
  • PyEcharts教程(008):PyEchart仪表盘
  • PYTHON从入门到实践2-环境配置与字符串打印用法
  • ffmpeg环境配置
  • RDKit:药物化学和分子数据处理的强大工具库
  • 左神算法之单辅助栈排序算法
  • OGG双活集群,年故障时间=0分钟!
  • OSS安全合规实战:金融行业敏感数据加密+KMS自动轮转策略(满足等保2.0三级要求)
  • 跟着chrome面板优化页面性能
  • 第五课:大白话教你用K邻近算法做分类和回归
  • SnowConvert:自动化数据迁移的技术解析与最佳实践