GET与POST的区别你真的懂吗?C语言服务器实战解析POST数据

第一章:GET与POST的核心差异解析

在Web开发中,GET与POST是最常用的两种HTTP请求方法,它们在数据传输、安全性、幂等性等方面存在本质区别。

数据传递方式的不同

GET请求将参数附加在URL之后,以查询字符串形式发送,例如:https://example.com/api?name=john&age=30。这种方式便于书签保存和直接访问,但暴露敏感信息且受URL长度限制(通常不超过2048字符)。 而POST请求将数据放在请求体(Request Body)中传输,不会显示在URL上,适合传输大量或敏感数据。

GET /api/users?role=admin HTTP/1.1
Host: example.com

POST /api/login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded

username=john&password=secret123

安全性与幂等性对比

虽然POST比GET更安全(不暴露参数),但两者均未加密,真正的安全需依赖HTTPS。 从幂等性角度看,GET请求应具有幂等性——多次执行不会改变服务器状态;而POST是非幂等的,每次调用可能创建新资源。
  • GET适用于获取数据,如搜索、读取资源
  • POST适用于提交数据,如登录、文件上传、表单提交

浏览器行为与缓存机制

浏览器会对GET请求进行缓存,并允许用户回退而不触发警告;而POST请求不会被缓存,刷新页面时会提示“重新提交表单”。
特性GETPOST
数据位置URL中请求体中
长度限制有(约2KB)无严格限制
缓存支持支持不支持
幂等性是否

第二章:HTTP协议中的POST请求机制

2.1 POST请求的报文结构与特点

POST请求是HTTP协议中用于向服务器提交数据的核心方法,其报文由请求行、请求头和请求体三部分构成。与GET不同,POST的数据携带在请求体中,具备更高的安全性和传输容量。
请求结构示例

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 45

{
  "name": "Alice",
  "age": 30
}
上述代码展示了典型的POST请求:首行为请求行,中间为头部字段,空行后是JSON格式的请求体。Content-Type表明数据类型,Content-Length指定主体长度。
核心特点
  • 数据封装在请求体中,避免暴露于URL
  • 支持多种数据格式,如application/json、multipart/form-data
  • 可触发预检请求(CORS场景下),保障跨域安全

2.2 Content-Type详解与数据编码方式

在HTTP通信中,Content-Type头部字段用于指示消息体的媒体类型,是客户端与服务器正确解析数据的关键。常见的类型包括text/plain、application/json、application/x-www-form-urlencoded和multipart/form-data。
常见MIME类型对照
类型用途说明
application/json传输JSON格式数据,现代API最常用
application/x-www-form-urlencoded表单默认编码,键值对以&连接
multipart/form-data文件上传时使用,支持二进制流
编码方式示例
POST /api/user HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "name": "Alice",
  "age": 30
}
该请求指明消息体为JSON格式,服务器将按JSON解析请求内容,确保数据结构正确映射到后端对象。

2.3 请求体与请求头的分离处理

在现代Web服务架构中,清晰划分请求体(Body)与请求头(Header)的处理逻辑,有助于提升接口的可维护性与安全性。
职责分离的优势
请求头通常携带元数据,如认证令牌、内容类型;而请求体则封装业务数据。分离处理可实现校验前置、解析解耦。
典型应用场景
  • 身份验证:从Header提取JWT令牌
  • 内容协商:依据Content-Type选择解析器
  • 日志审计:独立记录敏感数据访问行为
func parseRequest(r *http.Request) (UserData, error) {
    token := r.Header.Get("Authorization")
    if token == "" {
        return UserData{}, fmt.Errorf("missing auth token")
    }

    var body UserLogin
    err := json.NewDecoder(r.Body).Decode(&body)
    if err != nil {
        return UserData{}, err
    }
    // 分离处理确保安全校验先于数据解析
    return validateAndMap(body, token)
}
上述代码展示了先读取Header进行权限控制,再解析Body的典型流程,有效避免非法请求对后端处理的冲击。

2.4 基于C语言的POST请求抓包分析

在嵌入式网络开发中,使用C语言实现HTTP POST请求并进行抓包分析是调试通信逻辑的关键手段。通过Wireshark捕获数据包,可清晰观察到TCP三次握手及HTTP报文结构。
核心代码实现

// 构造HTTP POST请求头
const char *post_request =
    "POST /data HTTP/1.1\r\n"
    "Host: 192.168.1.100\r\n"
    "Content-Length: 12\r\n"
    "Connection: close\r\n\r\n"
    "name=client";
send(sock, post_request, strlen(post_request), 0);
上述代码构建标准POST请求,Content-Length需精确匹配请求体长度,避免服务端解析错误。
抓包关键字段分析
字段含义
POST /data请求路径
Content-Length实体主体字节数
Host目标主机地址

2.5 安全性对比:GET与POST的数据暴露风险

数据传输位置的差异
GET 请求将参数附加在 URL 后面,例如:?username=admin&password=123,这些信息会明文显示在浏览器地址栏、服务器日志和代理记录中,极易被窃取。而 POST 请求将数据放在请求体(Request Body)中传输,不会直接暴露在 URL 上。
GET /login?user=john&token=abc123 HTTP/1.1
Host: example.com
该 GET 请求中的 token 和用户名可在历史记录中被恢复。
POST /login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded

user=john&token=abc123
POST 数据位于请求体,相对隐蔽。
安全性对比总结
  • GET 请求不适合传输敏感信息,如密码、令牌;
  • POST 虽不显示在 URL,但仍需配合 HTTPS 加密以防中间人攻击;
  • 两者均不能替代真正的安全机制,如身份认证与数据加密。

第三章:C语言实现简易HTTP服务器

3.1 Socket编程基础与服务端框架搭建

在构建高性能网络服务时,Socket是实现进程间通信的核心机制。通过操作系统提供的网络API,开发者可建立TCP/UDP连接,完成数据的可靠传输。
Socket通信基本流程
典型的服务器端Socket编程包含以下步骤:创建套接字、绑定地址信息、监听连接请求、接受客户端接入、收发数据。
  • socket():创建通信端点
  • bind():关联IP与端口
  • listen():进入监听状态
  • accept():阻塞等待客户端连接
服务端框架示例(Go语言)
package main

import (
    "net"
    "log"
)

func main() {
    listener, err := net.Listen("tcp", ":8080")
    if err != nil {
        log.Fatal(err)
    }
    defer listener.Close()

    for {
        conn, err := listener.Accept()
        if err != nil {
            log.Print(err)
            continue
        }
        go handleConnection(conn)
    }
}
上述代码启动一个TCP服务器,监听8080端口。每次接受新连接后,使用goroutine并发处理,提升吞吐能力。其中net.Listen指定协议类型与绑定地址,Accept()阻塞等待客户端接入,返回独立的连接对象用于后续读写操作。

3.2 HTTP请求的接收与解析流程

当客户端发起HTTP请求,服务器通过监听的TCP端口接收连接。操作系统将网络数据包传递给应用层,Web服务器(如Nginx或Go内置Server)开始处理。
请求接收阶段
服务器调用系统I/O多路复用机制(如epoll、kqueue)监听socket,一旦有新数据到达,触发读事件:
conn, err := listener.Accept()
if err != nil {
    log.Printf("accept error: %v", err)
    return
}
该代码片段展示从监听器获取连接的过程。Accept()阻塞等待新连接,成功后返回Conn接口实例,封装了底层TCP连接。
请求解析流程
接收到原始字节流后,按HTTP协议规范逐行解析请求行、请求头和请求体:
  • 解析请求行:提取方法、URI、协议版本
  • 逐行读取请求头,构建成键值对映射
  • 根据Content-Length或Transfer-Encoding决定是否读取请求体
最终生成标准*http.Request对象,供后续路由和处理器使用。

3.3 静态响应返回与路由初步设计

在构建Web服务时,静态响应返回是验证路由逻辑的基础步骤。通过预定义的响应内容,可快速确认请求路径是否正确映射到处理函数。
基础路由注册示例
router.HandleFunc("/health", func(w http.ResponseWriter, r *http.Request) {
    w.WriteHeader(http.StatusOK)
    w.Write([]byte("OK"))
})
上述代码注册了一个健康检查接口,当访问 /health 时返回状态码200及纯文本“OK”。WriteHeader 显式设置HTTP状态,Write 输出响应体。
路由设计原则
  • 路径应具有语义性,如 /api/v1/users
  • 优先匹配静态路径,避免通配符冲突
  • 支持方法限定(GET、POST等)

第四章:POST数据的接收与解析实战

4.1 读取请求体中的原始POST数据

在Web开发中,处理客户端提交的POST请求时,经常需要直接读取请求体中的原始数据。这类数据通常以流的形式存在,需通过底层I/O操作获取。
原始数据读取方法
Go语言中可通过*http.Request的Body字段访问请求体:
func handler(w http.ResponseWriter, r *http.Request) {
    body, err := io.ReadAll(r.Body)
    if err != nil {
        http.Error(w, "读取失败", http.StatusBadRequest)
        return
    }
    defer r.Body.Close()
    // body 为字节切片,包含原始POST数据
}
该代码使用io.ReadAll一次性读取整个请求体,适用于小数据量场景。参数r.Body是实现了io.ReadCloser接口的流对象,读取后必须调用Close()释放资源。
常见数据类型识别
通过请求头Content-Type可判断数据格式:
  • application/json:JSON结构化数据
  • application/x-www-form-urlencoded:表单编码数据
  • text/plain:纯文本内容

4.2 解析application/x-www-form-urlencoded格式

在Web开发中,application/x-www-form-urlencoded是最常见的请求体编码类型之一,主要用于HTML表单提交。该格式将键值对以URL编码形式拼接,使用&分隔字段,=连接键与值。
编码规则与示例
例如,表单数据name=Alice&age=25&city=New+York中,空格被编码为+,特殊字符如é会转为%C3%A9。所有内容均需进行百分号编码以确保传输安全。
服务端解析处理
package main

import (
    "fmt"
    "net/url"
)

func main() {
    data := "name=Alice&age=25&city=New+York"
    parsed, _ := url.ParseQuery(data)
    fmt.Println(parsed["name"][0]) // 输出: Alice
}
上述Go代码使用url.ParseQuery方法解析字符串,返回map[string][]string结构,支持多值字段。每个参数值自动完成解码,包括对+和%xx的处理。

4.3 处理multipart/form-data文件上传场景

在Web开发中,处理文件上传是常见需求,而 `multipart/form-data` 是表单提交文件的标准编码方式。服务器需解析该格式以提取文件与字段数据。
请求结构解析
该类型请求体由多个部分组成,每部分以边界(boundary)分隔,包含头部和内容体。例如:
POST /upload HTTP/1.1
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="test.txt"
Content-Type: text/plain

Hello, this is a test file.
------WebKitFormBoundary7MA4YWxkTrZu0gW--
其中 `boundary` 定义分隔符,每个部分通过 `Content-Disposition` 区分字段名和文件名。
服务端处理逻辑
主流框架如Go的 `net/http` 提供 ParseMultipartForm 方法自动解析:
req.ParseMultipartForm(32 << 20)
file, handler, err := req.FormFile("file")
if err != nil { /* 处理错误 */ }
defer file.Close()
此代码将请求体解析至内存,限制为32MB,FormFile 提取指定字段的文件句柄与元信息。
  • 确保设置合理的大小限制防止DoS攻击
  • 验证文件类型与扩展名以增强安全性
  • 建议异步存储至对象存储系统提升性能

4.4 JSON格式POST数据的提取与解析

在现代Web开发中,客户端常通过POST请求以JSON格式提交数据。服务端需正确读取请求体并解析为结构化数据。
请求体读取
使用io.ReadAll从http.Request.Body中读取原始字节流,确保完整获取传输内容。
body, err := io.ReadAll(r.Body)
if err != nil {
    http.Error(w, "读取请求体失败", http.StatusBadRequest)
    return
}
上述代码捕获读取过程中的I/O错误,防止程序崩溃。
JSON反序列化
通过json.Unmarshal将JSON字节流映射到Go结构体,字段需使用标签匹配键名。
var data struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}
if err := json.Unmarshal(body, &data); err != nil {
    http.Error(w, "解析JSON失败", http.StatusBadRequest)
    return
}
该步骤验证数据格式合法性,并完成类型转换,是确保数据可用性的关键环节。

第五章:性能优化与安全防护建议

数据库查询优化策略
频繁的慢查询是系统性能瓶颈的主要来源之一。使用索引覆盖和避免 SELECT * 可显著提升响应速度。例如,在用户登录场景中,应确保 email 字段建立唯一索引:
CREATE UNIQUE INDEX idx_users_email ON users(email);
-- 查询时仅获取必要字段
SELECT id, name, role FROM users WHERE email = 'user@example.com';
同时,启用慢查询日志以定位耗时操作:
SET long_query_time = 1;
SET slow_query_log = ON;
HTTPS 配置与 TLS 最佳实践
生产环境必须启用 HTTPS,并配置现代加密套件。Nginx 中推荐配置如下:
  • 使用 Let's Encrypt 免费证书实现自动续签
  • 禁用 TLS 1.0 和 1.1,仅启用 TLS 1.2+
  • 优先选择 ECDHE 密钥交换算法
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512;
ssl_prefer_server_ciphers on;
内容安全策略(CSP)设置
为防止 XSS 攻击,应在 HTTP 响应头中配置严格的内容安全策略。以下策略限制脚本仅从自身域和可信 CDN 加载:
指令值
default-src'self'
script-src'self' https://cdn.jsdelivr.net
img-src'self' data: https://*.google-analytics.com
通过在中间件中注入响应头实现:
r.Use(func(c *gin.Context) {
    c.Header("Content-Security-Policy", "default-src 'self'; script-src 'self' https://cdn.jsdelivr.net; img-src 'self' data: https:")
    c.Next()
})
毕业设计——基于卷积神经网络的高速公路团雾智能识别系统设计与实现(数据集+源码+可视化+综述) 同时,也可以结合其他技术,如雷达、红外传感器等,实现多源信息的融合与协同处理,提高系统的可靠性和稳定性。实验结果表明,该系统能够实现对高速公路团雾的准确、快速识别,为高速公路的安全运行提供了有力保障。团雾作为一种常见的气象现象,具有突发性、局地性和消散迅速的特点,对高速公路的行车安全构成严重威胁。通过设计合适的网络结构,如增加卷积层、池化层等,实现对图像中团雾特征的自动学习和提取。预处理:对采集到的图像进行去噪、增强等预处理操作,以提高图像质量,降低后续处理的难度。读取数据,随机分为训练集和验证集。 阅读详情

相关推荐

帆软 finereport FCRA 考试 题库+答案,共收录561题,大部分有答案

帆软 finereport FCRA 考试 题库+答案,共收录561题,大部分有答案 入门基础 11.多选题 以下方式中属于FineReport中预览模式的有( ) 分页预览、填报预览、新填报预览、数据分析、移动端预览 16.判断题 FineReport报表工具必须购买激活码后才能使用。 错误,可以免费获取激活码。 29.单选题 FineReport是一款利用( )语言开发的报表工具。java 41.多选题 访问帮助文档的方式有哪些?设计器中社区菜单下-帮助文档;直接访问http://help.finere

qq_37485720的博客 2万+

C/C++ HTTP,HTTPS实现GET和POST请求

C/C++ HTTP,HTTPS实现GET和POST请求 HTTP GET和POST 实现过程 HTTP协议是在TCP基础上,加上HTTP协议头实现的 #include <QCoreApplication> #include <qglobal.h> #include <stdio.h> #include <stdlib.h> #include &lt...

weixin_41079531的博客 8106

EDSR-PyTorch实战:从模型下载到超分辨率图像生成

本文详细介绍了如何使用PyTorch实现EDSR模型进行超分辨率图像生成,包括环境配置、模型下载、参数调优及常见问题解决方案。EDSR作为超分辨率重建的利器,通过深度残差网络显著提升图像质量,特别适合老照片修复等场景。文章还提供了视频处理和自定义训练的进阶技巧,帮助开发者快速掌握这一技术。

weixin_29046035的博客 458

C语言通过socket接口实现发送http的get与post的实现

socket接口下的get请求的实现

weixin_48848862的博客 2158

Ubuntu+Dify实战:如何让大模型知识库完美支持图片召回(附避坑指南)

本文详细介绍了在Ubuntu系统上部署Dify平台,并实现大模型知识库图片召回功能的完整实战方案。通过解析Dify处理图片的底层逻辑,重点讲解了配置Nginx代理服务器将本地图片路径转换为可公开访问URL的核心工程步骤,并提供了文档预处理、环境变量配置以及父子分段策略等高级技巧,帮助开发者构建图文并茂的AI应用,有效提升知识库的丰富性和用户体验。

c7d8e的博客 445

TwinCAT报SSE invalid operation错误

错误类型 TwinCAT程序中报出以下错误: 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 **** 383 ms | 'Port_851' (851): Exception (Exception Code: 0xc0000090, SSE invalid operation) in PLC Application Untitled1 Instance, Task PlcTask (RBP: 0xffffb3016c80ecc0, RIP: 0xffffe708ee5b5f53, RSP:

akadiao的博客 4162

GET请求和POST请求详述

GET请求和post请求一、GET请求1、什么是GET请求2、使用GET方法的具体情况3、GET方式提交数据特点二、POST请求1、什么是POST请求2、使用POST方法的具体情况3、POST方式提交数据特点:三、GET请求和POST请求的区别         我们知道,HTTP是超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议。举个简单的例子: 客户端(浏览器)向服务器 提交HTTP请求,服务器收集到请求后向客户

m0_48375854的博客 1万+

OTP/EEPROM 读取与处理

Camera OTP/EEPROM 读取与处理 文章目录Camera OTP/EEPROM 读取与处理1. OTP概念1.1 基本概念1.2 OTP存储类型1.3 OTP烧录信息类型1.4 OTP 作用2. 配置准备2.1 基本认识2.2 OTP/EEPROM配置3. OTP/EEPROM datasheet理解 以及 读取方式3.1 data sheet 内容3.2 一般OTP/EEPROM(e...

Understand-image 1万+

post与get请求

两种最常用的 HTTP 方法是:GET 和post 1.什么是HTTP? 超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信。 HTTP 的工作方式是客户端与服务器之间的请求-应答协议。 web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。 举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。这就是HTTP 2.两种最常用的请求方法: Get和Post Get-从指定的资源请求数据 P

WTTYs的博客 263

MT5策略如何设置回测结果才能最接近实盘

摘要:在MT5回测中,选择"每笔分笔报价"模式最接近实盘交易,因其使用真实Tick数据模拟价格波动、点差和滑点。关键设置包括:下载高质量历史数据、合理设定点差和滑点、使用正常回测速度。该模式能准确测试挂单、止盈止损等策略,虽然速度较慢但结果最可靠,避免其他模式造成的失真,是评估交易策略表现的最佳选择。(149字)

weixin_38915451的博客 1878

Android实战——白天黑夜模式设置

白天黑夜模式是一种动态的UI模式,根据当前时间或用户设置的偏好,在白天和黑夜之间进行切换。它通过调整应用程序的颜色、亮度和其他可视化元素来提供更加舒适和易读的用户界面。

小旭的专栏 5229

浅谈HTTP中Get、Post、Put与Delete的区别

1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。 2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少

haif_city的博客 16万+

【YOLO26创新改进】TGRS 2026 | Transformer变体改进篇 | 使用CGTA曲率引导令牌注意力,改善结构与纹理的整体协调,适合遥感小目标检测、旋转目标检测、实例分割任务

本文在YOLO26目标检测模型中引入CGTA曲率引导令牌注意力模块,依据曲率显著性与特征可靠性,从高分辨率特征图中筛选少量关键令牌,再让全部位置与这些代表性特征进行全局交互,从而以较低计算和显存开销建立远距离目标、背景及跨尺度结构之间的联系;该模块能够重点强化车辆、舰船、飞机、建筑等目标的边缘、转角和弯曲轮廓,改善小目标、密集目标及旋转目标的特征完整性与定位稳定性,并通过可靠性门控抑制噪声和伪边缘,通过标准注意力与曲率注意力融合避免平坦区域被过度增强。

AI魔改博士-中大博士 47

浅析HTTP中Get、Post、Put与Delete的区别

浅析HTTP中Get、Post、Put与Delete的区别 1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。 2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。 3、POST请求同P

qq_43354717的博客 1483

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Get和Post的区别解析

Get和Post的区别解析 转自:https://blog.youkuaiyun.com/findsafety/article/details/47129021 一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交 Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DE...

qq_39111577的博客 166

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

POST与GET的区别

POST与GET的区别 说到GET和POST,就不得不提HTTP协议,因为浏览器和服务器的交互是通过HTTP协议执行的,而GET和POST也是HTTP协议中的两种方法。 HTTP的工作方式是客户端与服务器之间的请求-应答协议。 HTTP 底层是 TCP/IP,所以 GET 和 POST 的底层也是 TCP/IP。 HTTP协议中定义了浏览器和服务器进行交互的不同方法,基本方法有4种,分别是GET,POST,PUT,DELETE。这四种方法可以理解为,对服务器资源的查,改,增,删。 GET:从服务器上获取数

chen772209的博客 298

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

浅谈HTTP中Get与Post的区别

浅谈HTTP中Get与Post的区别   Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源

fisher_jiang的专栏 993

get 和post的区别

post和get的不同之处 GET与POST的区别在于:(对于CGI) 如果以GET方式传输,所带参数附加在CGI程式的URL后直接传给server,并可从server端的QUERY_STRING这个环境变量中读取; 如果以POST方式传输,则参数会被打包在数据报中传送给server,并可从CONTENT_LENGTH这个环境变量中读取出来。 还有一种情况是,你用的是GET

ZYX的专栏 761

POST与GET

<br />本来是在做用户登录的界面,做到了一半就是不知道他怎么与服务器实现通信的,今天终于得到了启发,感谢“happyboygd(七八) ”在博客中分析的实例,http://bbs.chinaunix.net/thread-1757580-1-1.html !<br />下面根据上者的分析,自己在理解了一下,特写此文章记录,也希望能给正在学习相关内容的朋友一些帮助。<br />我用的post方式提交用户信息的,首先先说明一下POST与GET方式的区别:(摘自网络)<br />HTML表单(Form)是HT

jason_3的专栏 1077

get和post的区别

get和post的区别 浏览器的GET和POST 特指浏览器中非Ajax的HTTP请求,从HTML和浏览器诞生就一直使用的HTTP协议中的GET/POST(HTTP协议中的两种发送请求的方法) 接口中的GET和POST 这里是指通过浏览器的Ajax api,或者是curl,postman之类的工具发出来的GET和POST请求 二者之间的区别主要包括如下: 从功能上讲: GET一般用来从服务...

Ellie棒棒哒的博客 328

c post请求数据_如果面试再问GET和POST区别,就把这篇甩给他

chengqmsegmentfault.com/a/1190000018129846前 言最近看了一些同学的面经,发现无论什么技术岗位,还是会问到 GET 和 POST 请求的区别,而搜索出来的答案并不能让我们装得一手好逼,那就让我们从 HTTP 报文的角度来撸一波,从而搞明白他们的区别。标准答案在开始之前,先看一下标准答案【来自w3school】长什么样子来保个底。标准答案...

weixin_39923623的博客 191

GET,POST,PUT,DELETE的区别

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。   1

6万+

get与post的区别

转自:http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这 样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资...

LZJ394112的博客 144

HTTP中Get、Post、Put与Delete的区别

1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。 2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少...

Alisa_JingSeNianHua的博客 311
上一篇: 揭秘RISC-V架构中断处理:如何用C语言实现高效响应机制
下一篇: 函数指针数组实现状态机,如何让代码效率提升80%?
InitFlow
博客等级 码龄1年 145粉丝 2166原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值