HTTP报文语法/HTTP组成
一、HTTP报文分类:请求报文和响应报文
请求报文会向Web服务器请求一个动作,响应报文会将请求的结果返回给客户端
请求报文格式:
<method> <request-URL> <version> 这一行称为:请求行或请求的起始行
<header>
<entity-body>
响应报文格式:
<version> <status> <reson-phrase> 这一行称为:响应行或响应的起始行
<header>
<entity-body>
二、下面是对各部分的描述:
方法(method)
客户端希望服务器对资源执行的动作。是一个单独的词,如GET、POST
请求URL(request-URL)
所请求资源,或者URL路径组件的完整URL
版本(version)
报文所使用的HTTP版本,格式:HTTP/<major>.<minor>
状态码(status-code)
描述请求过程中发生的情况。每个状态码的第一位数字用于描述状态的一般类别(成功、出错等)
原因短语(reson-phrase)
数字状态码的可读版本(描述操作状态的文本形式的原因短语)
首部(header)
可以有零个或多个首部,每个首部都包含一个名字,后面跟着一个冒号(:),然后是一个可选的空格,接着是一个值,最后是一个CRLF。首部是由一个空行(CRLF)结束的,表示了首部列表的结束和实体部分的开始。
首部字段向请求和响应报文中添加了一些附加信息。
本质上来说,它们只是一些名/值对的列表。
首部的分类:
1)通用首部:既可出现在请求报文中,也可出现在响应报文中。
比如Date首部就是一个通用首部,每一端都可以它来说明构建报文的时间和日期:
Date: Tue, 3 Oct 1974 02:16:00 GMT
2)请求首部:提供更多有关请求的信息,请求报文特有的。为服务器提供了一些额外信息,比如客户端希望接收什么类型的数据。例如,Accept首部就是用来告知
服务器客户端会接受与期请求相符的任意媒体类型:
Accept: */*
3)响应首部:提供更多有关响应的信息,以便为客户端提供信息(如,客户端在与哪种类型的服务器进行交互)。例如,Server首部就是用来告知客户端它在与一个
版本 1.0 的 Tiki-Hut 服务器进行交互:
Server: Tiki-Hut /1.0
4)实体首部:描述主体的长度和内容,或者资源本身。如,可以用实体首部来说明实体主体部分的数据类型。如Content-Type首部告知应用程序,数据是以iso-latin-1
字符集表示的HTML文档:
Content-type: text/html; charset=iso-latin-1
5)扩展首部:规范中没有定义的新首部,非标准的首部,由应用程序开发者创建,但还未添加到已批准的HTTP规范中。
实体的主体部分(entity-body)
包含一个由任意数据组成的数据块。并不是所有的报文都包含实体的主体报文,有时,报文只是以一个CRLF结束。
实体的主体是HTTP报文的负荷,就是HTTP要传输的内容。
HTTP报文可以承载很多类型的数字数据,如图片、视频、HTML文档、软件应用程序、信息卡事务、电子邮件等。
HTTP报文语法/HTTP组成的更多相关文章
- 前端学HTTP之报文起始行
前面的话 如果说HTTP是因特网的信使,那么HTTP报文就是它用来搬东西的包裹了.HTTP报文是在HTTP应用程序之间发送的简单的格式化数据块,每条报文都包含一条来自客户端的请求,或者一条来自服务器的 ...
- HTTP协议 -- 认清协议常用状态码
HTTP协议作为web服务的基础,理所应当受到重视,但是周围的同事能够讲清楚HTTP协议的凤毛麟角.既然是基础,就应该早一点掌握,所以近半年(2016-2月——2016年6月),不准备学习新技术了.首 ...
- Apache安装与属性配置
Apache 事先创建进程 按需维持适当的进程 模块块设计,核心比较小,各种功能都模块添加(包括php) 支持运行配置,支持单独编译模块 支持多种方式的虚拟主机配置 Socket IP ...
- Web服务及http协议
HTTP:HyperText Transfer Protocol--超文本传输协议 超链接:能够在文档之间跳转的文本 早起的Web:仅仅是能够实现在文档之间跳转的一种协议 http/0.9:仅支持纯文 ...
- PKI系统深入介绍
公钥基础设施(Public Key Infrastructure,简称PKI)是目前网络安全建设的基础与核心,是电子商务安全实施的基本保障,因 此,对PKI技术的研究和开发成为目前信息安全领域的热点. ...
- PKI系统深入的介绍
公钥基础设施(Public Key Infrastructure,缩写PKI)的基础与核心.是电子商务安全实施的基本保障.因此.对PKI技术的研究和开发成为眼下信息安全领域的热点. 本文对PKI技术进 ...
- [http服务]
[http服务] CentOS 6 httpd 程序环境 记录了httpd的主进程编号: v 主程序文件: /usr/sbin/httpd /usr/sbin/httpd.worker /usr/sb ...
- HTTP就是这么简单
为什么要学HTTP? 我们绝大多数的Web应用都是基于HTTP来进行开发的.我们对Web的操作都是通过HTTP协议来进行传输数据的. 简单来说,HTTP协议就是客户端和服务器交互的一种通迅的格式. H ...
- HTTP面试题都在这里
HTTP常见面试题 Http与Https的区别: Http与Https的区别: HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头 HTTP 是不安全的,而 ...
随机推荐
- 迷你MVVM框架 avalonjs 1.3.5发布
本版本主要是修复内存泄漏问题,让其在移动端更好的运作. 修正visible BUG 详见这里 修正$fire方法里的正则错误 详见这里 修正ms-attr BUG,在IE9-11,直接用element ...
- 使用navicat的SSH隧道连接数据库
这几天在连接远程数据库的时候,发现用navicat的普通方法居然连接不上,然后就想用ssh连接试试,开始是报错的,错误是这样的: lost connection to Mysql server at ...
- ArcGIS帮助文档VS帮助文档不能复制图片的解决方法
ArcGIS帮助文档VS帮助文档不能复制图片的解决方法(非常有用) 问题:ArcGIS的学习文档,开发文档,vs的帮助文档,一般都不能复制图片,有的甚至不能复制文本. 解决方法 在文档空白处右 ...
- 每月IT摘录201807
一.技术 1.专注于一个领域,横向扩展其他领域的技术.2.想得太多,做得太少. 3.想要成为一名web开发高手.必须熟悉以下内容: a.每次请求和响应的背后究竟发生了哪些步骤?客户端和服务器是如何通过 ...
- java集合:常用集合的数据结构
List 有序可重复 ArrayList ArrayList数据结构是数组.查询快,增删慢.ArrayList是线程不安全的,允许元素为null . Vector 线程安全的数组,效率较差,已经过时不 ...
- 03-SSH综合案例:商城表关系分析
1.2 设计页面: 静态页面: 1.3 数据库分析与设计: 一般是一个Java类就对应一个表,有哪些类?那看你有哪些实体啊?一般一个模块对应一个实体 有用户模块就会有用户的一个实体,就会有用 ...
- xshell评估过期解决办法
1.登录网景官网的下载页面: https://www.netsarang.com/download/down_form.html?code=522 2.直接在页面中有红色*号的地方输入个人信息,lic ...
- PHP里的进制
1.进制转换函数: <?php function decto_bin($datalist,$bin) { static $arr=array(0,1,2,3,4,5,6,7,8,9,'A','B ...
- [z]微信平台开发教程
http://blog.csdn.net/lyq8479?viewmode=contents
- Please ensure that adb is correctly located at 。。。。。。。。。。。。
遇到问题描述: 运行Android程序控制台输出 [2012-07-18 16:18:26 - ] The connection to adb is down, and a severe error ...