HTTP协议基本原理

HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种基于 TCP/IP 的应用层协议,用于在客户端和服务器之间传输超文本(如 HTML、图片、视频等)。其基本原理包括:

  1. 请求 – 响应模式:客户端发送请求,服务器接收并处理后返回响应
  2. 无状态性:服务器不会保留客户端的历史连接信息,每次请求都是独立的
  3. 基于 TCP 连接:HTTP 使用 TCP 作为传输层协议,确保数据可靠传输
  4. 明文传输:HTTP 默认不加密数据(HTTPS 通过 TLS/SSL 加密)
  5. 请求方法:常见的有 GET(获取资源)、POST(提交数据)、PUT(更新资源)、DELETE(删除资源)等 通常存在RESTful(Representational State Transfer)规范
  6. 状态码:服务器通过状态码表示请求处理结果(如 200 表示成功,404 表示资源不存在)

HTTP 请求和响应都由三部分组成:

  • 请求行 / 响应行
  • 请求头 / 响应头(Header)
  • 消息体(Body)

header中的content-type关系到如何解析参数以及数据,所以也是相当重要的头

常见的 Content-Type 类型

  1. 文本类型
    • text/plain:纯文本(默认字符编码可能因环境而异)
    • text/html:HTML 文档(网页内容)
    • text/css:CSS 样式表
    • text/javascript:JavaScript 代码(旧标准,现在更推荐 application/javascript
  2. 应用程序类型
    • application/json:JSON 数据(API 接口常用)
    • application/x-www-form-urlencoded:表单数据(默认的表单提交格式,数据会被编码为 key=value 形式)
    • multipart/form-data:用于上传文件的表单数据(支持二进制文件)
    • application/xml:XML 数据
    • application/octet-stream:二进制流数据(不确定类型时的默认二进制类型)
  3. 图像类型
    • image/jpeg:JPEG 图片
    • image/png:PNG 图片
    • image/gif:GIF 图片

一个post请求示例:

HTTP
POST /api/submit HTTP/1.1
Host: example.com
Content-Type: application/json; charset=utf-8
Content-Length: 36

{"name": "Alice", "age": 30}

一个响应示例:

HTTP
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 128

<html>
  <body><h1>Hello World</h1></body>
</html>
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇
Share via
Copy link