贵州大学实验报告
学院: 专业: 班级:
姓名 实验时间 实验项目名称 实验目的 实验要求 2011-11-28 学号 指导教师 应用层协议分析 实验组 成绩 1.掌握应用层协议HTTP数据包的组成; 2.掌握HTTP数据包头各字段的含义。 1.要求掌握应用层协议HTTP数据包的组成部分; 2.要求掌握HTTP数据包头各字段的含义。 HTTP报文由三个部分组成,即开始行、首部行和实体主体。 HTTP请求报文格式如图5.1所示。 实验原理 图5.1 HTTP请求报文格式 在请求报文中,开始行就是请求行。 “方法”是面向对象技术中使用的专门名词。所谓“方法”就是对所请求的对象进行的操作,因此这些方法实际上也就是一些命令。因此,请求报文的类型是由它所采用的方法决定的。 请求方法(所有方法全为大写)有多种,各个方法的解释如下: GET 请求获取Request-URI 所标识的资源 POST 在Request-URI 所标识的资源后附加新的数据 HEAD 请求获取由Request-URI 所标识的资源的响应消息报头 PUT 请求服务器存储一个资源,并用Request-URI 作为其标识 DELETE 请求服务器删除Request-URI 所标识的资源 TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断 CONNECT 保留将来使用 OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求 “URL”是所请求的资源的 URL。 “版本”是 HTTP 的版本。 HTTP响应报文格式如图5.2所示。 图5.2 HTTP响应报文格式 响应报文的开始行是状态行。 状态行包括三项内容,即 HTTP 的版本,状态码,以及解释状态码的简单短语。 状态码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值: 1xx:指示信息--表示请求已接收,继续处理 2xx:成功--表示请求已被成功接收、理解、接受 3xx:重定向--要完成请求必须进行更进一步的操作 4xx:客户端错误--请求有语法错误或请求无法实现 5xx:服务器端错误--服务器未能实现合法的请求 常见状态码、状态描述、说明: 200 OK //客户端请求成功 400 Bad Request //客户端请求有语法错误,不能被服务器所理解 401 Unauthorized // 请求未经授权, 这个状态代码必须和WWW-Authenticate 报头域一起使用 403 Forbidden //服务器收到请求,但是拒绝提供服务 404 Not Found //请求资源不存在,eg:输入了错误的URL 500 Internal Server Error //服务器发生不可预期的错误 503 Server Unavailable // 服务器当前不能处理客户端的请求, 一段时间后,可能恢复正常 实验Windows xp运行环境 环境 实验步骤 以Ethereal为例。 1.运行Ethereal,界面如下图: