博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTTP请求、响应报文格式
阅读量:4696 次
发布时间:2019-06-09

本文共 1488 字,大约阅读时间需要 4 分钟。

HTTP请求报文格式:

HTTP请求报文主要由请求行、请求头部、请求正文3部分组成

1,请求行

由3部分组成,分别为:请求方法、URL(见备注1)以及协议版本,之间由空格分隔

请求方法包括GET、HEAD、PUT、POST、TRACE、OPTIONS、DELETE以及扩展方法,当然并不是所有的服务器都实现了所有的方法,部分方法即便支持,处于安全性的考虑也是不可用的

协议版本的格式为:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1

2,请求头部

请求头部为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔

常见请求头如下:

请求头

说明

Host

接受请求的服务器地址,可以是IP:端口号,也可以是域名

User-Agent

发送请求的应用程序名称

Connection

指定与连接相关的属性,如Connection:Keep-Alive

Accept-Charset

通知服务端可以发送的编码格式

Accept-Encoding

通知服务端可以发送的数据压缩格式

Accept-Language

通知服务端可以发送的语言

请求头部的最后会有一个空行,表示请求头部结束,接下来为请求正文,这一行非常重要,必不可少

3,请求正文

可选部分,比如GET请求就没有请求正文

GET请求示例:

POST请求示例:

 

HTTP响应报文格式:

HTTP响应报文主要由状态行、响应头部、响应正文3部分组成

1,状态行

由3部分组成,分别为:协议版本,状态码,状态码描述,之间由空格分隔

状态代码为3位数字,200~299的状态码表示成功,300~399的状态码指资源重定向,400~499的状态码指客户端请求出错,500~599的状态码指服务端出错(HTTP/1.1向协议中引入了信息性状态码,范围为100~199)

这里列举几个常见的:

状态码

说明

200                   

响应成功

302

跳转,跳转地址通过响应头中的Location属性指定()

400

客户端请求有语法错误,不能被服务器识别

403

服务器接收到请求,但是拒绝提供服务(认证失败)

404

请求资源不存在

500

服务器内部错误

2,响应头部

与请求头部类似,为响应报文添加了一些附加信息

常见响应头部如下:

响应头

说明

Server

服务器应用程序软件的名称和版本

Content-Type

响应正文的类型(是图片还是二进制字符串)

Content-Length

响应正文长度

Content-Charset

响应正文使用的编码

Content-Encoding

响应正文使用的数据压缩格式

Content-Language

响应正文使用的语言

响应示例:

 

PS:

1,URI、URL和URN之间的区别

URI全名为Uniform Resource Indentifier(统一资源标识),用来唯一的标识一个资源,是一个通用的概念,URI由两个主要的子集URL和URN组成

URL全名为Uniform Resource Locator(统一资源定位),通过描述资源的位置来标识资源

URN全名为Uniform Resource Name(统一资源命名),通过资源的名字来标识资源,与其所处的位置无关,这样即使资源的位置发生变动,其URN也不会变化

HTTP规范将更通用的概念URI作为其资源标识符,但是实际上,HTTP应用程序处理的只是URI的URL子集

转载于:https://www.cnblogs.com/yfz1552800131/p/8620257.html

你可能感兴趣的文章
模板 - 数论函数
查看>>
非洲孩子
查看>>
XSS的原理分析与解剖(第二篇)
查看>>
poj 3268 最短路dijkstra *
查看>>
多线程操作数据库 (CoreData)
查看>>
缓存区溢出检测工具BED
查看>>
分享Kali Linux 2017年第18周镜像文件
查看>>
Android教程-03 常见布局的总结
查看>>
[React Native]访问操作系统剪贴板 Clipboard
查看>>
对互联网中常见地图的坐标系探讨
查看>>
IT - 偶像的力量
查看>>
POJ1743 Musical Theme(二分+后缀数组)
查看>>
git常用命令
查看>>
[No0000AA]Windows 系统环境变量列表
查看>>
English Time And Date
查看>>
外行人都能看得懂的机器学习,错过了血亏!
查看>>
Python JSON 基本使用
查看>>
Shell 实例:备份最后一天内所有修改过的文件
查看>>
定时执行程序-Quartz简单实例
查看>>
windows Api AlphaBlend的使用方法
查看>>