Thttpd源程序解析6 GET和POST的区别

本文详细介绍了Thttpd处理GET和POST请求的不同之处,包括请求内容的位置、首部处理、数据存储方式、连接保持及数据长度限制。GET请求参数在URL中,数据存储在环境变量;POST请求数据在主题中,需要content-length,并设置Keep-alive,且数据限制更为宽松。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前端面试的时候面试官可能会问你Get方法和POST的方法的区别,很多书上会说Get的请求长度是受限制的,请求在URL中等等等下面我们将看Thttpd处理Get和POST方法时怎样处理。

一般的HTTP请求将会分为3各部分以回车换行符间隔:

(1)起始行

起始行 需要表明请求的方法  请求的文件的路径(相对于HTTP服务器资源目录的路径) 请求使用的协议 三者以至少一个空格间隔。比如下面的格式:

GET /index.html  HTTP/1.1 表明使用Get方法,请求HTTP服务器目录下的index.html文件 使用的HTTP协议为1.1

(2)首部

首部有很多参数表明接收的数据类型,缓存控制,用户代理,缓存控制,接收编码类型等信息,可以有0或者多个键值对以回车换行符结束

(3)主题

数据正文部分,可以没有。

比如获取w3school的根文件可以使用下面的字符发送到w3school.com.cn的80端口,<cr>表示回车<lf>表示换行

连接ip:120.50.41.41:80

发送的内容 GET /  HTTP/1.1 <cr><lf>  host:www.w3school.com.cn<cr><lf><cr><lf> <cr><lf>  

由于w3school必须要填写首部的host所以上面填写了首部的host内容,一般的其他服务器比如这里的Thttpd服务器Get请求可以没有首部和主题。

现在我们进入主题说一下Get和POST在服务器端的区别:

一般做前端都应该知道Get请求的请求参数都在URL中而POST的请求在主题中所

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值