栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

HTTP协议分析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

HTTP协议分析

1 HTTP发展史 1.1HTTP概念

超文本传输协议(HTTP HyperText TransferProtocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
HTTP协议和TCP/IP协议族内的其他众多的协议相同,用于客户端和服务器之间的通信。

1.2HTTP发展史

2 HTTP协议结构 2.1 HTTP通信过程
  • 客户端发送请求。
  • 服务端接受请求,发送响应。
2.2 HTTP报文

用于HTTP协议交互的信息被称为HTTP报文,请求端的HTTP报文叫做请求报文,响应端的叫做响应报文。HTTP报文是由多行(CR+LF作换行符)数据构成的字符串文本。

2.2 请求报文及响应报文的结构

2.3 HTTP请求报文

2.4 HTTP方法
  • GET:请求访问已被URI识别的资源
  • POST:传输实体的主体
  • PUT:传输文件
  • HEAD:HEAD方法和GET方法一样,只是不返回报文主体部分。用于确认UR的有效性及资源更新的日期时间等。
  • DELETE:删除文件
  • OPTIONS:查询针对请求URI指定的资源支持的方法
  • TRACE:让Web服务器端将之前的请求通信环回给客户端
2.5 HTTP响应报文

2.6 HTTP状态码
  • 1XX
    信息性状态码,接收的请求正在处理
  • 2XX
    成功状态码,请求正常处理完毕
  • 3XX
    重定向状态码,需要进行附加操作以完成请求
  • 4XX
    客户端错误状态码,服务器无法处理请求
  • 5XX
    服务器错误状态码,服务器处理请求出错
2.7 HTTP是无状态协议

为了实现保存状态的功能,引入了cookie技术。

3 HTTP首部字段 3.1 HTTP首部字段
  • 通用首部字段
    请求报文和响应报文两方都会使用的首部。
  • 请求首部字段
    从客户端向服务器端发送请求报文时使用的首部,补充了请求的附加内容、客户端信息、响应内容相关优先级等信息。
  • 响应首部字段
    从服务器端向客户端返回响应报文时使用的首部,补充了响应的附加内容,也会要求客户端附加额外的内容信息。
  • 实体首部字段
    针对请求报文和响应报文的实体部分使用的首部,补充了资源内容更新时间等与实体有关的信息。
3.2 通用首部字段
  • Cache-Control
    通过指定首部字段Cache-Control的指令,就能操作缓存的工作机制;
  • Connection
    控制不再转发给代理的首部字段;管理持久连接
  • Date
    表明创建HTTP报文的日期和时间
  • Via
    使用首部字段Via是为了追踪客户端与服务器之间的请求和响应报文的传输路径。报文经过代理或网关时,会先在首部字段Via中附加该服务器的信息,然后再进行转发。首字段Via不仅用于追踪报文的转发,还可避免请求回环的发生,所以必须在经过代理时附加该首部字段内容。
3.3 请求首部字段



3.4 响应首部字段


3.4 实体首部字段


4 CTF常见姿势

Method

User-Agent

Location

Referer

X-Forwarded-For

Accept-Language


Cookie

自定义首部字段

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/992313.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号