HTTP请求中的报文以及GET和POST的区别

本文介绍了HTTP协议的基本概念,详细解释了HTTP请求报文和响应报文的组成结构,并对比了GET和POST请求方式的区别,包括安全性、数据类型限制等方面。

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

HTTP是一种互联网上应用最广泛的网络协议,所有的WWW文件都必须遵守这个标准。它的设计目的是保证客户机和服务器之间的通信。
在客户机和服务器请求的过程中,用于交互的信息我们称之为HTTP报文,分为请求报文和响应报文。
请求报文包括请求行、请求头、空行、请求体;

  • 以下是请求报文
POST /products/creat HTTP/1.1					(请求行,包括请求方法/url/HTTP协议及版本)
Host: 10.8.155.95:3333
Content-Length: 32
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36
Cache-Control: no-cache
Origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop
name: xiaobai
Postman-Token: 3b2fdd3e-fc98-942c-4c71-a517d04824d1
Content-Type: application/json
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: keep-alive								(请求头)
													(空行)
{"name":"xiaohei","age":16}							(请求体)

响应报文包括状态行、响应头、空行、响应体。

  • 以下为响应报文
HTTP/1.1 200 OK								(状态行,包括HTTP协议版本、状态码和状态描述)
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 40
ETag: W/"28-hhZqaX1+L6z2I4crOZ2ERE5/zmQ"
Date: Wed, 22 May 2019 12:11:50 GMT
Proxy-Connection: keep-alive				(响应头)
											(空行)
{"code":"success","info":"添加成功"}			(响应体)
  • 从安全角度来讲,GET请求查询字符串会显示在地址栏的网址中,所以不建议使用GET请求提交敏感数据,一般只用来获取数据;POST请求因为数据不会显示在地址栏中,也不会缓存下来或保存在浏览记录中,所以POST请求方式相对来说安全,但也不是最安全的方式。如需要传送敏感数据,必须使用加密方式传输。
  • GET请求点击刷新页面没有太大影响,可以添加书签;而POST会重复提交数据,不能添加书签。
  • GET请求数据类型有限制,只允许ASCII字符类型;POST请求数据类型没有限制,也可以是二进制数据,编码类型为application/x-www-form-urlencoded,支持的编码类型为application / x-www-form-urlencoded或multipart / form-data。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值