编程技术文章分享与教程

网站首页 > 技术文章 正文

HTTP协议字段和含义 http协议是什么协议

hmc789 2024-11-08 19:43:35 技术文章 1 ℃

0X01 HTTP

HTTP是一个应用层的面向对象的协议。

0X02 抓包工具

Wireshark、burpsuite、Fiddler

0X03 POST请求

POST /user/avatar/srote HTTP/1.1 第一部分(请求行)

Host: www.mozhe.cn 第二部分(请求消息报头)

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

DNT: 1

Referer: https://www.mozhe.cn/user/avatar

Cookie: mozhe-xsrf-token=eyJpdiI6IkxwOUU2NGlQR3NhUU1odlwvTXM0YVlBPT0iLCJ2YWx1ZSI6IjMwNDdmMFphUkZmz_s=eyJpdiI6InBENmJXdFRycDhKMlQ3OVdKbmp2Vmc9PSIsInZhbHVlIjoiMzk5UzE5ODBtZVd4bW5Tc0QzSTNKWlJ0Y2hOR2lLQVRUOVVcL1wvQXZCeEJrPSIsIm1hYyI6ImRhYzRmOWMyNDU2MGI4OGZmY2NjNzE5NGJlMGQyN2JmMTNlM2Y0OTEzZDc0NjUzYmRhM2QwYWYxMzQyMjg1YjkifQ%3D%3D

Connection: close

Content-Type: multipart/form-data; boundary=---------------------------323151133724701

Content-Length: 2708

-----------------------------323151133724701 第三部分 (请求正文)

Content-Disposition: form-data; name="preToken"

PRS_05beb1c1369f5ca46415d2988435b683

-----------------------------323151133724701

Content-Disposition: form-data; name="_token"

ET7Ab50w7Wf72sBqs5ZYGQsAR8vEyo7rxSkob5xq

-----------------------------323151133724701

Content-Disposition: form-data; name="avatar_src"

-----------------------------323151133724701

Content-Disposition: form-data; name="avatar_data"

{"x":166.9,"y":7.400000000000001,"height":59.20000000000001,"width":59.20000000000001,"rotate":0}

-----------------------------323151133724701

Content-Disposition: form-data; name="avatar_file"; filename="411HW)F{5D4R7I@HZZ@72YG.png"

Content-Type: image/png

‰PNG

0X04 GET请求

请求报文首部信息

GET /dmtfd/180_112_/t016581d5fc716f4ac7.jpg HTTP/1.1

Host: p0.so.qhimg.com

Connection: keep-alive

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36

Accept: image/webp,image/*,*/*;q=0.8

Accept-Encoding: gzip, deflate, sdch

Accept-Language: zh-CN,zh;q=0.8

响应报文的首部信息

HTTP/1.1 200 OK

Expires: Sat, 06 Nov 2027 10:42:27 GMT

Date: Wed, 08 Nov 2017 10:42:27 GMT

Server: nginx

Content-Type: image/jpeg

Content-Length: 7269

Last-Modified: Fri, 28 Jul 2017 10:07:37 GMT

Cache-Control: max-age=315360000

Access-Control-Allow-Origin: *

Accept-Ranges: bytes

X-Varnish: 4001337919 3116603350

Via: 1.1 varnish

X-Varnish-Hits: 156271

X-Varnish-Cache: HIT

Age: 1

X-Cache: HIT from cache.51cdn.com

X-Via: 1.1 fjqzwt234:8 (Cdn Cache Server V2.0), 1.1 PSbjsjqwtpy148:5 (Cdn Cache Server V2.0)

Connection: keep-alive

0X05 字段含义

当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,HTTP请求信息由3部分组成:

请求行 URI协议/版本

请求头(Request Header)

请求正文

GET

请求获取Request-URI所标识的资源

POST

传输实体主体

HEAD

请求获取由Request-URI 所标识的资源的响应消息报头,不返回报文主体部分。用于确认URI的有效性及资源更新的日期时间等

PUT

用来传输文件,像FTP协议的文件上传一样,要求在请求报文的主体中包含文件内容,

然后保存到请求URI指定的位置

DELETE

请求服务器删除Request-URI所标识的资源

OPTIONS

用来查询针对请求URI指定的资源支持的方法

TRACE

请求服务器回送收到的请求信息,用于测试和诊断。让Web服务器端将之前的请求通信环回给客户端的方法

CONNECT

要求在代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要使用SSL和TLS协议把数据进行加密传输

Host

表示请求的资源的主机(域名)和端口号

User-Agent

包含发出请求的用户信息

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

意思:浏览器支持的 MIME 类型分别是 text/html、application/xhtml+xml、application/xml 和 /,优先顺序是它们从左到右的排列顺序。

Accept表示浏览器支持的 MIME 类型;

MIME是多功能 Internet 邮件扩充服务

text/html,application/xhtml+xml,application/xml

都是 MIME 类型,也可以称为媒体类型和内容类型,斜杠前面的是 type(类型),斜杠后面的是 subtype(子类型);type 指定大的范围,subtype 是 type 中范围更明确的类型,即大类中的小类。

Text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的;

text/html表示 html 文档;

Application:用于传输应用程序数据或者二进制数据;

application/xhtml+xml表示 xhtml 文档;

application/xml表示 xml 文档。

Accept-Language:告知服务器支持的语言类型

zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3 zh-cn表示简体中文;zh 表示中文; q是权重系数,范围 0 =< q <= 1,q 值越大,请求越倾向于获得其";"之前的类型表示的内容,若没有指定 q 值,则默认为1,若被赋值为0,则用于提醒服务器哪些是浏览器不接受的内容类型。

Accept-Encoding: 指定浏览器可以支持的web服务器返回内容压缩编码类型

意思:浏览器支持的压缩编码是 gzip 和 deflate。

gzip :GNU zip 的缩写,它是一个 GNU 自由软件的文件压缩程序,也经常用来表示 gzip 这种文件格式。

deflate:同时使用了 LZ77 算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法。

User-Agent: 告知当前访问者的情况

User-Agent(用户代理),简称 UA,它是一个特殊字符串头,使得服务器能够识别客户端使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

Mozilla/5.0:Mozilla 是浏览器名,版本是 5.0;

compatible(兼容的)表示平台是兼容模式;

Referer: 标识当前请求的发起页面

告诉服务器我是从哪个页面链接过来的。

Origin:用来标识本次请求的发起源(只用于POST)

Cookie:会把保存在该请求域名下的所有cookie值一起发送给web服务器。

X-Forwarded-For: 1.2.3.4

Connection: Keep-Alive 表示客户端与服务器连接类型;

Keep-Alive:表示持久连接;

close:指的是服务器发送给客户端后属于关闭状态

0X06 GET和POST区别

get方法向服务器获取资源:GET/dmtfd/180_112_/t016581d5fc716f4ac7.jpg HTTP/1.1

POST方法要求被请求服务器接收附在请求后面的数据,常用于提交表单

常用于取回数据,post用于提交数据

GET方式时Request body 部分为空。

POST方式则可利用URL及Request body发送请求

请求正文:

get:请求正文为空

post:http请求正文中才有信息,通常为web系统自定义参数,用于实现与服务端的交互

标签列表
最新留言