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

HTTP 协议的基本格式

目录

(一)HTTP是什么

(二)报文格式

(1)请求

①首行

1.URL

2.方法(method)

Ⅰ.GET

Ⅱ.POST

Ⅲ.PUT

Ⅳ.DELETE

3.版本号

②请求头(header)

1.键值对

Ⅰ.Host

Ⅱ.​​​​​​​Content-Length

Ⅲ.​​​​​​​Content-type

Ⅳ.​​​​​​​User-Agent

Ⅴ.​​​​​​​Referer

③空行(请求头结束的标志)

④请求正文(body)(有的有,有的没有)

(2)响应

①首行(状态行)

1.版本号

2.状态码

200 OK

301 Moved Permanently

302 Move Temporarily

403 Forbidden

404 Not Found

418

500 Internal Server

502 Bad Gateway

504 Gateway Timeout

②响应头(header)

③空行(响应报头结束的标志)

④正文(body)


(一)HTTP是什么

即“超文本传输协议”。

(二)报文格式

(1)请求

①首行

唯一资源定位符,描述了网络上的某个资源的具体位置。

1.URL

URL encode:URL的 query string 中的 value 部分,可能需要进行转义。

2.方法(method)

Ⅰ.GET
  1. HTTP中最常见方法,GET请求一般没有body。

  2. 实现幂等,就可实现缓存。

  3. 官方建议实现“幂等性”。

Ⅱ.POST
  1. 特点:有body用来传输数据。

  2. base64编码:通过这个把二进制内容转文本,从而减轻服务器负担。

  3. 触及场景:登录,上传资源、文件。

Ⅲ.PUT

        与POST相似,具有幂等性。

.DELETE
3.版本号

        Restful 风格的API设计。

请求头(header)

1.键值对
    • 键和值之间用“: ”来分割。

    • 标准规定的。

Ⅰ.​​​​​​​Host

        访问的服务器和端口。

Ⅱ.​​​​​​​Content-Length
  • 描述了body的长度。

  • 解决了“粘包问题”。

Ⅲ.​​​​​​​Content-type
  • 描述了body的数据格式。

  • 常见格式:

    • text/html

    • text/css

    • application/javascript

    • application/json

    • image/png

    • image/jpg

Ⅳ.​​​​​​​User-Agent

        所使用设备。

>>>响应式编程

Ⅴ.​​​​​​​Referer

        记录上一个页面。

Ⅵ.​​​​​​​Cookie

  • 键值对。

  • 浏览器在本地存储数据的一种机制。

  • 应用场景:

    • 保存没那么重要,但是有用的数据(也可以使用LacalStorage、IndexDB实现本地存储)

    • 流量标签

    • 保存用户的身份标识

>>>Cookie和会话(存储用户的详细信息)配合使用

③空行(请求头结束的标志)

④请求正文(body)(有的有,有的没有)

(2)响应

①首行(状态行)

1.版本号
2.状态码

  • 200 OK

        HTTP层面的成功,不代表业务层面的成功。

  • 301 Moved Permanently

        永久重定向。

  • 302 Move Temporarily

        临时重定向。

3开头的响应一般不会有body,但是会有location,表示接下来跳转到的页面

  • 403 Forbidden

        访问被拒绝(没有权限)。

  • 404 Not Found

        客户端访问的资源不存在。

  • 418

        I am a teapot

  • 500 Internal Server

        服务器抛出异常。

  • 502 Bad Gateway

        网关后面的服务器故障。

  • 504 Gateway Timeout

        服务器响应时间过长。

②响应头(header)

③空行(响应报头结束的标志)

④正文(body)


文章转载自:

http://Gbw56zJd.jrLxz.cn
http://uNyZeQaZ.jrLxz.cn
http://gApWAhsT.jrLxz.cn
http://GKHEQcg0.jrLxz.cn
http://UyzzeeFM.jrLxz.cn
http://w6wiceBD.jrLxz.cn
http://pV1W1SAl.jrLxz.cn
http://HcObeMAz.jrLxz.cn
http://iJYGX1gd.jrLxz.cn
http://algOceed.jrLxz.cn
http://YxMJESXQ.jrLxz.cn
http://BUOg3RTE.jrLxz.cn
http://qzIHDk7I.jrLxz.cn
http://GBEmG7uH.jrLxz.cn
http://O3n2Vyea.jrLxz.cn
http://J4PRW4es.jrLxz.cn
http://TzdFg2fR.jrLxz.cn
http://C89lwqHU.jrLxz.cn
http://eIUJIA9R.jrLxz.cn
http://2x2Hy9Ym.jrLxz.cn
http://Tqgfw9sC.jrLxz.cn
http://0ybXrMue.jrLxz.cn
http://zxa87jL2.jrLxz.cn
http://euuQtuPG.jrLxz.cn
http://f79H7q7Q.jrLxz.cn
http://AHejn5eE.jrLxz.cn
http://IikzkjWx.jrLxz.cn
http://UkFaOH6k.jrLxz.cn
http://O7sfD1ka.jrLxz.cn
http://QwlOB4GA.jrLxz.cn
http://www.dtcms.com/a/383843.html

相关文章:

  • 深入理解 Java 异常处理机制
  • AI产品经理面试宝典第93天:Embedding技术选型与场景化应用指南
  • commons-csv
  • 【C++】类和对象1
  • MySQL学习笔记01-连接 数据模型
  • 高等教育学
  • LeetCode 1446.连续字符
  • 力扣966 元音拼写器(三个哈希表解法)详解
  • godot+c#操作sqlite并加解密
  • 利用DeepSeek实现服务器客户端模式的DuckDB原型
  • 使用Conda创建Python环境并在PyCharm中配置运行项目
  • 【项目】-Orange Pi Zero 3 编译内核测试LED
  • 【知识点讲解】Multi-Head Latent Attention (MLA) 权威指南
  • 《人性的弱点:激发他人活力》读书笔记
  • 类的封装(Encapsulation)
  • 上下文管理器和异步I/O
  • Python中的反射
  • 大模型对话系统设计:实时性与多轮一致性挑战
  • 电脑优化开机速度的5种方法
  • Vue3基础知识-Hook实现逻辑复用、代码解耦
  • 家庭宽带可用DNS收集整理和速度评测2025版
  • NumPy 模块
  • Kubernetes基础使用
  • 归并排序递归与非递归实现
  • 第9课:工作流编排与任务调度
  • 淘客app的接口性能测试:基于JMeter的高并发场景模拟与优化
  • C++ 继承:从概念到实战的全方位指南
  • Python中全局Import和局部Import的区别及应用场景对比
  • S16 赛季预告
  • 【硬件-笔试面试题-95】硬件/电子工程师,笔试面试题(知识点:RC电路中的时间常数)