在http请求中,get不都是从服务器上down数据下来吗?

从零实现C语言多线程HTTP服务器:Socket编程与线程池实战 网络编程是构建现代互联网服务的基础,其核心在于理解客户端与服务器之间的通信机制。从原理层面看,服务器需要高效处理并发连接,避免因单个请求阻塞而影响整体性能。为实现这一目标,多线程模型成为关键技术,它通过创建多个工作线程并行处理请求,显著提升吞吐量。线程池技术进一步优化了这一过程,它预先创建并管理一组线程,避免了频繁创建销毁线程的开销,是构建高性能服务器的常见工程实践。结合HTTP协议解析与静态文件服务,开发者可以深入理解Web服务器的工作流程。本文以C语言为例,通过手写一个名为TinyHTTP的多线程服务器 阅读详情

 get一般 都是请求数据,为什么有时候它还会传一些数据到服务端呢?? 可能是后台需要这些数据做为参数,然后再返回数据给前端,for example:


$.ajax({

      type:"get",

     url :"api/User/someMethod",

      data:{"id":1,"name":"jim","age":"12"},

      success:function(data,textStatus)

      { if(textStatus=="success") 

          {

              $("#id").html(data);

          }

      },

        dataType:"json"

})


public string GetAll(int id,string name,int age)

{  

   return string.Format("id is {0}",id);

} 


实体作为参数传递

 测试结果

由上图可知,在get请求时,我们直接将json对象当做实体传递后台,后台是接收不到的。这是为什么呢?我们来看看对应的http请求

 原来,get请求的时候,默认是将参数全部放到了url里面直接以string的形式传递的,后台自然接不到了。

原因分析:还记得有面试题问过get和post请求的区别吗?其中有一个区别就是get请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),而post请求则是放在http协议包的包体中。试想,对象能直接放在url里面传递么?不能。所以这里就导致我们使用get请求无法将对象直接传递到后台。

但是,在实际开发过程中,我们有时又确实需要将多个条件放在一个对象里面一起传到后台,比如最常见的查询条件,由于查询条件众多,我们可以定义一个查询的对象统一接收查询条件。我们该如何做呢?我们试想,既然get请求只能将参数放在url里面,那么我们是否可以将对象转换成可以放在url的string呢。是不是想到了我们的序列化?呵呵,我们试试。

$.ajax({
        type: "get",
        url: "http://localhost:27221/api/Charging/GetByModel",
        contentType: "application/json",
        data: { strQuery: JSON.stringify({ ID: "1", NAME: "Jim", CREATETIME: "1988-09-11" }) },
        success: function (data, status) {
            if (status == "success") {
                $("#div_test").html(data);
            }
        }
    });

这样在后台得到我们序列化过的对象,再通过反序列化就能得到对象。

在url里面我们可以看到它自动给对象加了一个编码



Python从零构建HTTP服务器:深入理解GET/POST请求与网络编程 HTTP协议是Web开发的基石,它定义了客户端与服务器之间请求与响应的通信规则。其核心原理基于请求方法、状态码和报文结构,其中GET和POST是最常用的两种方法,分别用于获取资源和提交数据。理解这些底层机制对于掌握Web开发至关重要,它能帮助开发者优化应用性能、进行网络调试和构建轻量级服务。在Python中,通过标准库的socketserver和http.server模块,可以手动实现一个简易的HTTP服务器,从而深入理解请求解析、路由处理和响应构建的全过程。这种实践不仅巩固了网络编程基础,还为学习Flas 阅读详情

相关推荐

python接收HTML的get数据,如何实现?

🏆本文收录于专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家!持续更新中,up!up!up!!

**My Coding Family** 1081

HTTP协议——通信协议学习笔记(一)

这里写目录标题一级目录二级目录三级目录HTTP协议HTTP 工作原理特点概述HTTP请求格式(请求协议)HTTP协议请求类型HTTP响应格式(响应协议)HTTP 响应头信息区别 一级目录 二级目录 三级目录 Tcp http websocek原理是什么 WebSocket和HTTP的区别 通信协议 HTTP协议 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。是一个基于TCP/IP通信协议来传递数据(HTML

Artenis_的博客 1505

Elsevier投稿别再踩坑了!手把手教你搞定LaTeX模板和所有附件(附避坑清单)

本文详细解析Elsevier投稿全流程中的关键环节,特别是LaTeX模板的使用和系统提交的常见问题。从必备文件准备到LaTeX模板适配,再到投稿系统操作指南,提供全面的避坑清单和实用技巧,帮助科研工作者高效完成投稿,避免因格式错误或文件遗漏导致的退稿风险。

weixin_30915275的博客 551

http协议 服务器主动下发,HTTP协议快速入门指南

看完下面的文章,回答这几个问题常用的HTTP方法有哪些GET方法与POST方法的区别HTTP请求报文与响应报文格式常见的HTTP相应状态码HTTP1.1版本新特性常见HTTP首部字段HTTP的缺点与HTTPSHTTP优化HTTP简介:HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文...

weixin_29823011的博客 886

【C++】lambda表达式

本篇文章我们要学习的是lambda表达式,它是C++11新增的一种特别方便的语法,相较于之前的函数指针以及仿函数都方便了不少,下面就让我们一起来学习吧。

malloc不出对象的博客 2630

Windows 2012 SYSVOL复制失败的处理

题外话:晓原理、知架构、查日志是排错的三件法宝今天在DC1上新建并链接了一个组策略对像,在客户端刷新时,却报下面的错误:“处理组策略失败。Windows无法应用组策略对象LDAP….”如下图所示:于是在客户端用\\domain.com访问,发现\\domain.com\SYSVOL\domain.com\policies下面没有上面报错的组策略对象。这是怎么一回事呢,pin...

weixin_33989780的博客 1669

http协议的传输方式

http协议的传输方式有很多种,处于安全考虑,常用的一般都是GET和POST两种,先来介绍下这两种 1)GET:获取资源 GET方法用来请求访问已被URL识别的资源 2)POST:传输实体主体 POST方法用来请求服务器传输信息实体的主体 GET和POST的区别: 首先,使用目标不同:GET方法只是用来查询,不会对浏览器上的信息产生影响,每次GET的方法都是相同的 其次,大小不同:G...

BoomHuaHua的博客 2518

PHP特性知识点总结

(1)类型转换之前提到过的是字符串转为整型。其实php手册里面提到了各种类型的转换。先把他放在这里。我们按照php手册上的顺序来介绍,只介绍几个比较常用的。①转化为bool②转化为整型int。

m0_73605862的博客 1295

get方法中url参数拼接和写到请求体中的理解

实际上这里的参数已经重复写了,也就是写错了,但python可能为了容错,只读了url上的参数,没有取body_data中的参数,或者其他方法,可以执行调用成功。1.如get的请求参数拼接到了url上那么,他的请求参数body_data给为空,参数类型params,可以执行调用成功。2.如get的请求参数没有在url上拼接,写到了body_data中,参数类型params,发送请求,可以执行调用成功。3.如get的请求参数拼接到了url上,而且也写到了body_data中,参数类型params,...

默金 1万+

翁恺-C语言程序设计 PTA习题集

代码练习题

qq_46085472的博客 7643

【数据库系统工程师】5.4Internet基础知识

目录一、思维导图二、知识点1.Internet 概述2.Internet 地址(1)域名(2)IP 地址(3)NAT技术(4)IPv6简介3.Internet 服务(1)域名服务(2)远程登录服务(3)电子邮件服务(4)WWW服务(5)文件传输服务 一、思维导图 二、知识点 1.Internet 概述 2.Internet 地址 (1)域名 ○ 一个完整、通用的层次型主机域名由如下4部分组成: 计算机主机名.本地名.组名.最高层域名 (2)IP 地址 ○ 每个IP地址都由4个小于256的数字组成,数字之

邓邓子的博客 911

HTTP请求/响应报文结构

HTTP请求报文 一个HTTP请求报文由四个部分组成:请求行、请求头部、空行、请求数据。 1.请求行 请求行由 请求方法字段、URL字段 和 HTTP协议版本字段 3个字段组成,它们用空格分隔。 比如 GET /data/info.html HTTP/1.1 方法字段就是HTTP使用的请求方法,比如常见的GET/POST 其中HTTP协议版本有两种:HTTP1.0/HTTP1.1 可以这样区别: HTTP1.0对于每个连接都只能传送一个请求和响应,请求就会关闭,HTTP...

weixin_46081189的博客 1343

34 python 时间和日期

介绍python里时间和日期的常用方法,以及案例,还有注意事项。

水滴爬呀爬 347

web基础和HTTP协议

文章目录域名概述域名的概念DNS域名系统网页的概念HTML概述WEB静态页面和动态页面HTTP协议GET方法POST方法HTTP状态码生产环境中常见的HTTP状态码HTTP协议请求流程HTTP请求消息报文格式HTTP响应消息报文格式 域名概述 域名的概念 IP地址不易记忆,所以用域名来实现对ip地址的访问 早期使用hosts文件来解析域名,但是需要人为逐条添加,十分繁琐,维护困难 DNS域名系统 具有层次性和分布式 空间结构 根域 顶级域 二级域名 FQDN:(Fully Qualified Domain

weixin_42280882的博客 167

基于唤醒音频的目标说话人语音识别系统设计报告

摘要 本报告设计了一套基于唤醒音频的目标说话人语音识别系统,通过五级流水线架构(唤醒检测→声纹注册→语音分离→目标ASR→拒识决策)解决复杂声学场景下的目标说话人识别问题。系统整合ECAPA-TDNN声纹模型、Conv-TasNet语音分离网络和Whisper ASR引擎,在L20 GPU上实现高效端到端推理,支持-5dB~5dB SNR范围和0~100%重叠率的双人语音场景处理。系统在目标说话人CER、拒识率和推理效率等关键指标上均达到设计目标,为智能语音交互提供了有效的身份感知解决方案。

huanghm88的专栏 73

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

HTTP 状态码详解大全 | HTTP Status Codes

以下是HTTP 状态码详解大全 | HTTP Status Codes” ,来自维基百科,可以按Ctrl+F快速查找需要的信息 1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送1xx响应。[...

weixin_30357231的博客 3548

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

curl c++封装 get/post

#pragma once#include <map>#include <string>#include "curl/curl.h"// Http get,post数据成功#define HTTP_GET_OR_POST_SUCCESS_NOR 200// Http get获取post数据文件#define HTTP_GET_OR_POST_SUCCESS_DOWN_F...

u014017003的博客 1409

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

命令行网络请求:从curl到HTTP/TLS全链路调试基础

HTTP网络请求本质是DNS解析、TCP连接、TLS握手与HTTP协议交互的分层过程。理解底层原理有助于精准排查403/503/401等状态码异常、证书校验失败、重定向语义差异及跨域问题。命令行工具如curl、dig、openssl和nc提供无抽象、高保真的协议控制能力,支持头部定制、方法精确指定、退出码自动化判断等工程实践。相比Postman或Axios等SDK,命令行具备更强的故障穿透力与环境隔离性,是运维、前端、安全工程师进行接口调试、API监控与渗透验证的核心基础技能。

weixin_34414650的博客 394

Tcl网络编程实战指南:使用socket和http包构建高效网络应用

想要快速掌握Tcl网络编程的核心技巧吗?本文将为您详细介绍如何利用Tcl内置的socket命令和http包构建强大的网络应用。Tcl作为一门简洁高效的脚本语言,在网络编程领域有着独特的优势,特别适合开发网络工具、Web服务和分布式系统。😊 ## 为什么选择Tcl进行网络编程? Tcl的网络编程能力源自其简洁而强大的内置命令体系。通过简单的几行代码,您就能实现复杂的网络通信功能。Tcl的soc

gitblog_00766的博客 812

HCIE-Datacom题库_04_HTTP【15道题】

CookieSessionConnectionSet-Cookie解析:Connection字段值为keep-alive时启用长连接。HTTP请求报文起始行中的version字段格式为:HTTP/<主要版本号>.<次要版本号>HTTP状态码是三位十进制数字代码HTTP请求报文起始行中的method字段可以为"GET"、“POST”或"CREATE”某些HTTP请求报文的主体部分内容可以为空解析:method字段取值:GET、POST。

2301_80961833的博客 1034

Proxyee-down批量下载功能:createTask API批量处理实现

你是否还在为需要逐个添加下载任务而烦恼?面对成百上千个URL地址,手动创建任务不仅耗时耗力,还容易出错。Proxyee-down的批量下载功能通过`createTask` API提供了高效解决方案,本文将详细介绍如何利用该API实现批量下载任务的自动化处理,让你轻松应对大规模下载需求。 读完本文后,你将能够: - 理解`createTask` API的工作原理和参数含义 - 掌握批量生成下载任务...

gitblog_00418的博客 606

HTTP

HTTP基础教程这里写链接内容 Http协议格式请点击这里! HTTP协议建立连接、通讯与关闭连接全过程 1.请点击这里! 2.请点击这里!HTTP返回状态代码这里写链接内容当用户试图通过HTTP或FTP协议访问一台运行主机上的内容时,Web服务器返回一个表示该请求的状态的数字代码。该状态代码记录在服务器日志中,同时也可能在 Web 浏览器或 FTP客户端显示。也就是我们打开页面发生错误时浏

Mark Down Here 569

Python 数据爬取(爬虫):从零开始学会爬取网页数据

本文介绍了如何使用 Python 编写简单的网页爬虫程序,涵盖了静态网页的抓取、动态网页抓取、批量抓取、数据存储和反爬虫策略等内容。通过requests和Selenium等工具,我们能够高效地抓取各种网页数据。编写爬虫时,请遵循法律法规,尊重网站的隐私政策和 robots.txt 文件的规定,合理使用爬虫工具。希望这篇文章能帮助你顺利入门 Python 爬虫的世界,开始构建自己的数据抓取应用!

小蜗牛的珍贵百宝箱 7194

TCP Socket 编程实现 HTTP 服务器:C/Python 3.12 双语言代码解析 5 个核心步骤

本文详细解析了如何使用TCP Socket编程实现HTTP服务器,涵盖C和Python 3.12双语言代码的5个核心步骤。从Socket创建、绑定到HTTP请求处理与动态响应生成,逐步构建符合HTTP/1.1协议的服务器,帮助开发者深入理解TCP与HTTP的底层交互机制。

weixin_34055787的博客 344

Http Authorization拒绝文字解释,直接撸代码

实战: 需求如下接口文档 贴个 http get工具类: public static String doGetByToken(String url,String token) { CloseableHttpClient httpClient = null; CloseableHttpResponse response = null; String result = ""; try { //通过址默认配置创建一个h

qq_30347133的博客 332
上一篇: 返回字典格式
下一篇: DataType vs ContentType in jquery ajax [duplicate] 数据类型
Bill11YAng
博客等级 码龄14年 165粉丝 230原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值