HTTP请求报文格式:

HTTP请求报文主要由请求行、请求头部、空行以及请求正文4部分组成

1,请求行由3部分组成,分别为:请求方式,URI(注意这里不是URL)以及协议版本组成,之间由空格分隔

请求方法主要包括GET、POST等;常见的协议版本有HTTP/1.1

2,请求头部包含很多有关客户端环境以及请求正文的有用信息

请求头部由“关键字/值”对组成,每行一对,关键字和值之间使用英文“:”分隔

3,空行,这一行非常重要,必不可少,表示请求头部结束,接下来为请求正文

4,请求正文,如以POST方式提交的表单数据

GET请求示例:

POST请求示例:

GET请求方式和POST请求方式到底有什么不同:

1,POST方式比GET更加安全(相对的)

GET方式请求参数放在请求行中作为请求URI的一部分,POST方式请求参数放在请求正文中,我们是可以对请求正文进行加密的

2,如果传输大数据量,只能使用POST方式

由于GET方式将请求参数放置在请求行URI中,故参数的长度受限于URL的长度限制;POST方式请求参数放在请求正文中,请求正文没有长度限制

HTTP响应报文格式:

HTTP响应报文主要由状态行、响应头部、空行以及响应正文4部分组成

1,状态行由3部分组成,分别为:HTTP协议版本,状态代码,状态代码描述

状态代码为3位数字,由1、2、3、4以及5开头,2开头的指响应成功,3开头的指重定向,4开头的指客户端错误,5开头的指服务端错误。详细的状态码就不介绍了,这里列举几个常见的:

200:响应成功

400:错误的请求,用户发送的HTTP请求不正确

404:文件不存在,也就是HTTP请求URI错误

500:服务器内部错误

2,响应头部与请求头部类似,也包含了很多有用的信息

3,空行,这一行非常重要,必不可少,表示响应头部结束,接下来为响应正文

4,响应正文,服务器返回的文档,最常见的为HTML网页

响应示例:

HTTP请求、响应报文格式的更多相关文章

  1. http请求报文格式和响应报文格式

    转载 出处 超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求 ...

  2. http请求报文格式(请求行、请求头、空行 和 请求包体)和响应报文格式(状态行、响应头部、空行 和 响应包体)

    转载 出处 超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求 ...

  3. HTTP请求报文与响应报文格式

    请求报文包含三部分: a.请求行:包含请求方法.URI.HTTP版本信息 b.请求首部字段 c.请求内容实体 响应报文包含三部分: a.状态行:包含HTTP版本.状态码.状态码的原因短语 b.响应首部 ...

  4. HTTP请求响应报文&&相关状态码&&GET_POST请求方法 总结

    HTTP请求报文: 一个HTTP请求报文由四个部分组成:请求行.请求头部.空行.请求数据 1.请求行   请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.比如 GE ...

  5. HTTP请求响应报文 - 相关状态码 - GET_POST请求方法

    HTTP请求报文: 一个HTTP请求报文由四个部分组成:请求行.请求头部.空行.请求数据 1.请求行 请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.比如 GET ...

  6. HTTP 请求/响应报文结构

    请求报文和响应报文都是由以下4部分组成: 1.请求行/响应行 2.请求头/响应头 3.空行 4.消息主体(请求体/响应体) 请求报文结构 请求行 格式为:Method Request-URI HTTP ...

  7. HTTP协议-响应报文格式

    HTTP协议-响应码 浏览器向服务器发出请求,服务器处理可能是成功.可能是失败.可能没有权限访问等原因,服务器会通过响应码来告诉浏览器处理结果. " : OK " : Found ...

  8. HTTP请求/响应报文结构

    HTTP协议版本有两种:HTTP1.0和HTTP1.1 它们俩的区别在于:HTTP1.0对于每个连接都只能传送一个请求和响应,请求后就会关闭,HTTP1.0没有Host字段:而HTTP1.1在同一个连 ...

  9. CXF Service Interceptor请求,响应报文之控制台输出

    一:定义接口 @WebService(targetNamespace = "http://www.unionpay.com/client/appprovider", name = ...

随机推荐

  1. poj2029Get Many Persimmon Trees(最大矩阵和)

    链接 类似最大矩阵 sum存下 枚举最大就是 #include <iostream> #include<cstdio> #include<cstring> #inc ...

  2. bzoj2281

    有思维难度的好题这种题我们一般可以先从部分分考虑30%的分数k=2也就是黑白各一个不难发现如果初始黑白棋子相邻那必然是先手必败态否则一定是先手必胜那么30分的部分分是很容易拿到的,组合数学如果有多个棋 ...

  3. Linux kernel ‘uio_mmap_physical’函数缓冲区溢出漏洞

    漏洞名称: Linux kernel ‘uio_mmap_physical’函数缓冲区溢出漏洞 CNNVD编号: CNNVD-201311-154 发布时间: 2013-11-13 更新时间: 201 ...

  4. Azure Site Recovery:我们对于保障您的数据安全的承诺

    Anoob Backer 云 + Enterprise 项目经理  Azure Site Recovery是一个基于 Azure的全天候.易用的服务,可以安全地安排恢复操作,一旦发生灾难,即可为您 ...

  5. Java问题汇集(1)

    1.javax.el.PropertyNotFoundException: Property 'Price' not found on type pet.petshop.dto.WareDto 简答: ...

  6. Maven创建工程项目如何下载所需要的jar包

    转自:http://hi.baidu.com/hotthought/item/57ce101556d0ba0de75c36c5 Maven包的下载路径: http://maven.apache.org ...

  7. 处理.NET中的内存泄露

    Fabrice Marguerie是一位软件架构师和咨询师,他在MSDN发表了如何检测和避免.NET程序内存与资源泄漏的文章.此文章描述了编写.NET程序时可能发生的内存与资源泄漏,以及如何避免这些泄 ...

  8. Ubuntu下为 Flash插件方法

    1.下载flash插件,地址:http://get.adobe.com/cn/flashplayer/ 下载tar格式的install_flash_player_11_linux_x86_64.tar ...

  9. 【python自动化第八篇:网络编程】

    一.拾遗 动态导入模块 目的是为了在导入模块的过程中将模块以字符的格式导入. #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:wanghui ...

  10. 在触屏设备中拖动 overflow 元素

    在 Android 和 iOS 等触屏设备中,如果网页中某元素设置 overflow: auto 或者 overflow:scroll,那么问题就来了.在 Android 3.0 之前以及 iPhon ...