2、HTTP的消息格式
概念
- HTTP协议
- Hyper Text Transfer Protocol 超文本传输协议
- 传输协议
- 传输协议定义了客户端和服务器端通信时,发送数据的格式。
- 特点
- 基于TCP/IP的高级协议
- 默认端口号:80
- 基于请求/响应模型 :一次请求对应一次响应
- 无状态的:每次请求之间相互独立,不能交互数据
- 历史版本
- HTTP 1.0:每一次请求响应都会建立新的连接,浪费时间,消耗资源。
- HTTP 1.1:复用连接。
- 请求消息数据格式
数据格式
- 请求消息数据格式
- 响应消息数据格式
请求消息数据格式
请求方式
- HTTP协议有7中请求方式,常用的有2种
- GET:
1. 请求参数在请求行中,在url后。
2. 请求的url长度有限制的
3. 不太安全 - POST:
1. 请求参数在请求体中
2. 请求的url长度没有限制的
3. 相对安全
- GET:
请求行
- Request method :请求方式
- Request URI :请求端的URI地址
- Http version :HTTP协议的版本
GET方式:

POST方式:

请求头
- Accept:指浏览器或其他客户可以接爱的MIME文件格式。
- Accept-Encoding:指出浏览器可以接受的编码方式。
- Accept-Langeuage:指出浏览器可以接受的语言种类,如en或en-us,指英语。
- connection:用来告诉服务器是否可以维持固定的HTTP连接。
- Cookie:浏览器用这个属性向服务器发送Cookie。
- Host:对应网址URL中的Web名称和端口号。
- User-Agent:客户浏览器名称。
- 兼容性问题
- Referer:表明产生请求的网页URL。
- 防盗链
- 统计工作
- Content-Type:用来表名request的内容类型。
- Accept-Charset:指出浏览器可以接受的字符编码。英文浏览器的默认值是ISO-8859-1。
GET方式:

POST方式:

请求空行
- 空行,用于分割请求头和请求体。
请求体
- 封装POST请求消息的请求参数的
响应消息数据格式
响应行
- 协议/版本
- 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。
- 1xx 指示信息:表示请求已接收,但没有完成,需要继续处理。
- 2xx 成功:表示请求已被成功接收、理解、接受。
- 3xx 重定向:要完成请求必须进行更进一步的操作。
- 302:重定向
- 304:访问缓存
- 4xx 客户端错误:请求有语法错误或请求无法实现。
- 404:请求路径没有对应的资源
- 405:请求方式没有对应的doXxx方法
- 404:请求路径没有对应的资源
- 5xx 服务器端错误:服务器未能实现合法的请求。
响应头
- Content-Type:响应体数据格式以及编码格式
- text/html;charset=UTF-8
- Content-disposition:打开响应体数据的格式
- in-line:在当前页面内打开(默认值)
- attachment;filename=xxx:以附件形式打开响应体。文件下载
响应空行
响应体
- 传输的数据
————————————————
版权声明:本文为CSDN博主「water1127」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40981851/article/details/104165403
2、HTTP的消息格式的更多相关文章
- Lind.DDD.LindMQ~关于持久化到Redis的消息格式
回到目录 关于持久化到Redis的消息格式,主要是说在Broker上把消息持久化的过程中,需要存储哪些类型的消息,因为我们的消息是分topic的,而每个topic又有若干个queue组成,而我们的to ...
- DNS消息格式
一,简介 空谈误国,要让一大堆抽象的DNS概念落地,还是需要了解DNS消息格式的,本文会尽量详细地介绍DNS消息格式的每一个字段. 也可以移步rfc1035了解. 二,概览 DNS消息主要由五部分组成 ...
- CORBA GIOP消息格式学习
想要深入理解ORB的工作过程与原理,学习与了解GIOP消息格式必不可少.我们知道GIOP是独立于具体通信的更高级别的抽象,因此这里针对GIOP在TCP/IP上的实现IIOP协议进行学习与分析(IIOP ...
- Kafka的消息格式
Commit Log Kafka储存消息的文件被它叫做log,按照Kafka文档的说法是: Each partition is an ordered, immutable sequence of me ...
- 【转】[WCF REST] 帮助页面与自动消息格式(JSON/XML)选择
可以说WebHttpBinding和WebHttpBehavior是整个Web HTTP编程模型最为核心的两个类型,前者主要解决消息编码问题,而余下的工作基本上落在了终结点行为WebHttpBehav ...
- Web Service 消息格式
当客户端和Web Service服务器进行通信时,他们交换消息.客户端发送请求消息到Web Service服务器. Web Service服务器响应并返回消息.这就像普通的HTTP,浏览器发送一个HT ...
- Kafka-Record(消息格式)
注:本文依赖于kafka-0.10.0.1-src kafka消息格式是经过多个版本的演变的,本文只说0.10.0.1版本的消息格式. 消息格式如图1所示: 图1 CRC:用于校验消息内容.占4个字节 ...
- MQTT-SN协议乱翻之消息格式
前言 紧接着上篇初步介绍,本文为第二篇,主要梳理MQTT-SN 1.2协议中定义的消息格式. 通用消息格式 消息头 其它可变部分 2/4字节表示 N字节组成 消息头部 长度 消息类型 1或3个字节 1 ...
- SIP消息类型和消息格式
转自:http://blog.chinaunix.net/uid-1797566-id-2840904.html sip消息类型和消息格式 SIP是一个基于文本的协议,使用的是UTF-8字符集. SI ...
- 一文看懂Kafka消息格式的演变
摘要 对于一个成熟的消息中间件而言,消息格式不仅关系到功能维度的扩展,还牵涉到性能维度的优化.随着Kafka的迅猛发展,其消息格式也在不断的升级改进,从0.8.x版本开始到现在的1.1.x版本,Kaf ...
随机推荐
- Dell CS24-SC 服务器详情
详情介绍: https://www.viziotech.com/servers/58-dell-cs24-sc-dual-xeon-quad-core-l5420-25ghz-16gb-4x146gb ...
- django连接ubuntu22下的mysql8
1.安装mysql(这里就不过多赘述了) sudo apt-get install mysql-server 2.登录mysql (1) 在 根目录/etc/mysql/debian.cnf ,使 ...
- windos下激活python虚拟环境
1.从终端中找到解释器的目录 2.cd到Scripts,输入激活命令activate 这样就表示激活成功了
- unity GetComponent在android端获取对象错误
PlayerObj pobj = go.GetComponent<PlayerObj>(); if (pobj && pobj.IsMyTeam()) { marchAct ...
- Flutter 3.+更新记录
Flutter3.3稳定版出来了,于是决定把之前Flutter工程的代码更新下其中里面有些涉及到组件的弃用 在此记录 ElevatedButton 代替了 RaisedButton 为带阴影的悬浮按钮 ...
- linux安装EMQ
1.拉取Emqx包 wget https://www.emqx.com/zh/downloads/broker/4.2.14/emqx-centos7-4.2.14-x86_64.rpm 2.安装服务 ...
- windows中的换行符和Linux中的换行符
# cat -A tmp.tmp 120.4987 12.717858^M$ ^M 对应的字符是 \r # cat tmp.txt | awk -vRS='\r\n' '{print $2,$1}' ...
- 常见的hash数据结构
遍历 hash表是一种比较简单和直观的数据结构,在查找时也有很好的性能.但是hash表不能提供有序遍历,这个是其特性决定,所以不足为奇.但是,更为实际的一个问题是如果遍历整个hash表中的所有元素? ...
- 用python3操作mysql数据库实现企业级产品参数查询
Python3 MySQL 数据库连接 - PyMySQL 驱动 一.什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则 ...
- rdlc 中文在win10中显示异常,在非win10中显示正常
RDLC中的默认字体Arial. 在win10中,RDLC为Arial时,显示中文会异常,这个时候,只需要将Font修改为中文字体就可以了,例如修改为宋体.