HTTP原理之HTTP报文(1) 方法
来源:互联网 发布:网络安全教育开题报告 编辑:程序博客网 时间:2024/04/29 06:27
二、HTTP报文
1.简单报文
HTTP协议用于客户端与服务器端之间的通信,请求资源的一端称为客户端,提供资源的一端称为服务器端。从客户端发送请求时必须遵循一定的规则,按规则发送的请求就称为HTTP请求报文,下面就是一个请求报文的例子:
POST /form/entry HTTP/1.1Host: hackr.cnConnection: keep-aliveContent-Type: text/htmlContent-Length: 16name=joe&age=44
图中’POST’是方法,’/form/entry’是URI,’HTTP/1.1’是协议版本;接下来的’Host…Content-Length: 16’是请求首部;空一行后的’name=…44’是内容实体。
而响应报文是服务器端返回的信息,如下:
HTTP/1.1 200 OKDate: Tue, 14 Jun 2016 06:50:15 GMTContent-Length: 362Content-Type: text/html<html>......
图中’HTTP/1.1’是协议版本,’200’是状态码,’OK’是状态码原因短语,’Date:…text/html’是响应首部字段,’< html>…’是响应主体。
2.HTTP方法
GET:获取资源
GET方法用来请求URL指定的资源。指定的资源经服务器端解析后返回响应内容。例子:
Host: www.hackr.cn 返回index.html的页面资源
POST:传输实体主体
POST方法用来传输实体的主体。
Host:www.hackr.cn
Content-Length:1560 返回submit.cgi接收数据的处理结果
PUT:传输文件
PUT方法用来传输文件。就像FTP协议的文件上传一样,要求在请求报文主体中包含文件的内容,然后保存到请求URL指定的位置。不太常用。
Host:www.hackr.cn
Content-Type: text/html
Content-Length: 1560 响应返回状态码204 No Content(比如:该html已存在于服务器上)
HEAD:获得报文首部
HEAD方法和GET方法一样,只是不返回报文主体部分。用于确认URL的有效性及资源更新的日期时间等。
Host:www.hackr.cn 返回index.html有关的响应首部
DELETE:删除文件
DELETE方法用来删除文件,是PUT的相反方法。DELETE方法按请求URL删除指定的资源。也不常用。
Host:www.hackr.cn 响应返回状态码204 No Content(比如:该html已从该服务器上删除)
OPTIONS:询问支持的方法
OPTIONS方法用来查询针对请求URL指定的资源支持的方法。
Host:www.hackr.cn HTTP/1.1 200 OK
Allow:GET,POST,HEAD,OPTIONS
TRACE:追踪路径
TRACE方法是让Web服务器端将之前的请求通信环回给客户端方法。客户端可以用TRACE方法查询发送出去的请求时怎样被加工修改的。不常用,还容易引发XST攻击
Host:hackr.cn
Max-Forwards:2 HTTP:/1.1 200 OK
Content-Type:message/http
Content-Length:1024
TRACE / HTTP/1.1
Host:hackr.cn
Max-Forwards:2
CONNECT:要求用隧道协议连接代理
CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要使用SSL和TSL协议把通信内容加密后经网络隧道传输。
CONNECT 代理服务器名:端口号 HTTP版本
Host:proxy.hacky.cn HTTP/1.1 200 OK(之后进入网络隧道)
总结下HTTP1.1和HTTP1.0支持的方法
其中LINK与UNLINK已被HTTP/1.1废弃。还有一些扩展方法,如LOCK,COPY,MOVE,MKCOL等,不再这里总结。
这里我们简单学习了HTTP报文以及起始行的方法,接下来我们会继续学习状态码、报文头部等。
- HTTP原理之HTTP报文(1) 方法
- HTTP原理之HTTP报文(2) 状态码
- HTTP 之 报文学习
- Http之报文
- Http之报文压缩
- HTTP协议之报文详解(转)
- 《图解HTTP》(二)之HTTP报文及状态码
- HTTP协议之报文详解
- HTTP协议之:报文详解
- HTTP协议之报文详解
- HTTP协议之报文详解
- HTTP协议之报文格式
- HTTP协议之报文详解
- http笔记整理之报文
- HTTP协议之报文详解
- HTTP报文
- HTTP报文
- HTTP报文
- 数据库复习总结
- linux 服务器间copy 文件
- 办公软件Cnskype for business自动化系统的作用
- Contains Duplicate II 是否包含重复
- 关于mongoDB 失效数据 ttl ensureIndex
- HTTP原理之HTTP报文(1) 方法
- 阿里云服务器linux系统远程连接
- html——表单(1)
- Python list 基础知识篇
- New String(s) 和 s.toString() 的区别
- C++STL各种实现版本介绍
- XML字符串转换成XML Document对象,并生成在指定路径
- 仓库管理系统系列——2、环境搭建和配置文件
- C/C++二级指针的三种模型(一)