post和get请求的区别

本文深入解析GET与POST请求的区别,包括请求报文的首部行字段如Content-Length、User-Agent等,以及HTTP底层的TCP/IP工作原理。同时,文章详细说明了GET与POST在TCP数据包生成上的差异,并列举了常见的HTTP状态码。

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

(待完成) post和get请求的区别 请求报文
在这里插入图片描述

首部行中的一些字段解释

Content-Length: 标记着body的长度
User-Agent: 标记浏览器类型和操作系统的版本
Contet-Type: 标记着数据类型(text/html等)
Host: 客户端告知服务器,所请求的资源是在哪个主机的那个端口上
Cookie: 用于在客户端存储少量信息,通常用于实现会话(session)功能
Accept-Language: 标记着用户所使用的语言
Keep-Alive:time:标记着连接的时间
Connection:close 此时表示是非持久连接
Connection:keep-alive 此时表示是持久连接

HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。

1. GET产生一个TCP数据包;POST产生两个TCP数据包。
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
常见状态码
200—OK—客户端请求成功
400—Bad Request—客户端请求有语法错误,不能被服务器所理解
401—Unauthorized—请求未经授权,这个状态码必须和WWW-Authenticate抱头域一起使用
403—Forbidden—服务器收到请求,但是拒绝提供服务
404—Not Found—请求的资源不存在,例如输入了错误的URL
500—Internal Server Error—服务器发生不可预期的错误
503—Server Unavailable—服务器当前不能处理客户端的请求,一段时间后可能恢复正常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值