首页 > 其他分享 >http数据包

http数据包

时间:2023-05-04 19:24:21浏览次数:29  
标签:http 请求 Type Accept Content HTTP 数据包

http数据包

HTTP 由请求和响应两部分组成,所以对应的也有两种报文格式。下面分别介绍 HTTP
请求报文格式和 HTTP 响应报文格式

手边正好有抓的一个包(buu的)

请求头
POST /Login HTTP/1.1
Host: 79fd8c0f-490b-4f57-9847-41eccb7bf59d.node4.buuoj.cn:81
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://79fd8c0f-490b-4f57-9847-41eccb7bf59d.node4.buuoj.cn:81/
Content-Type: application/x-www-form-urlencoded
Content-Length: 27
Origin: http://79fd8c0f-490b-4f57-9847-41eccb7bf59d.node4.buuoj.cn:81
Connection: close
Cookie: JSESSIONID=9BB6C3275286DFB42088CC16FFB1A790
Upgrade-Insecure-Requests: 1

username=admin&password=123

下面的是响应

HTTP/1.1 200 OK
Server: openresty
Date: Fri, 28 Apr 2023 14:36:31 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 75
Connection: close

<h1>wrong password!</h1><h3><a href="Login">Click to log in again!</a></h3>

http请求包

HTTP请求报文由请求行、请求首部和主体三部分组成。格式如下:

请求行 
请求首部1: 值1
请求首部2: 值2
...
请求首部n: 值n

主体(可选)
  1. 请求行:由请求方法、请求URI和HTTP版本三部分组成。
  • 请求方法:GET、POST、PUT、DELETE等,用于描述对资源的操作
  • 请求URI:包含协议名、主机名和资源路径,用于标识请求资源
  • HTTP版本:通常为HTTP/1.1
    例如:GET /index.html HTTP/1.1
  1. 请求首部:包含多个首部字段,描述请求属性和主体信息。常见首部有:
  • Accept:用户代理可接受的媒体类型
  • Accept-Encoding:用户代理可接受的内容编码
  • User-Agent:用户代理的信息
  • Host:请求资源所在服务器
  • Content-Type:主体内容类型
  • Content-Length:主体内容长度
  • Cookie:页面访问会话的状态信息
    例如:Accept: text/html; User-Agent: Chrome/68
  1. 主体:可选,包含请求所携带的数据信息,在POST/PUT请求中会包含。以Content-Type首部描述的格式编码,长度由Content-Length指定。
    例如:

     Content-Type: application/x-www-form-urlencoded
     username=johndoe&age=30
    

下面我们再解析一下上面的请求头的代码

    /*/ - POST方法:请求登录资源
        - /Login:请求的登录接口路径
        - HTTP/1.1:HTTP版本号
    /*/
    POST /Login HTTP/1.1
        Host: 79fd8c0f-490b-4f57-9847-41eccb7bf59d.node4.buuoj.cn:81

        User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0

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

        Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

        Accept-Encoding: gzip, deflate
        
        Referer: http://79fd8c0f-490b-4f57-9847-41eccb7bf59d.node4.buuoj.cn:81/

        Content-Type: application/x-www-form-urlencoded

        Content-Length: 27

        Origin: http://79fd8c0f-490b-4f57-9847-41eccb7bf59d.node4.buuoj.cn:81

        Connection: close

        Cookie: JSESSIONID=9BB6C3275286DFB42088CC16FFB1A790

        Upgrade-Insecure-Requests: 1
        /*/
        - Host:请求资源所在主机,包含域名和端口
        - User-Agent:浏览器版本信息
        - Accept:浏览器可接受的媒体类型 
        - Accept-Language:浏览器可接受的语言 
        - Accept-Encoding:浏览器可接受的编码格式 
        - Referer:请求来源页面的URI
        - Content-Type:请求主体内容类型,application/x-www-form-urlencoded
        - Content-Length:请求主体内容长度,27
        - Origin:请求来源,与referer作用类似
        - Connection:连接类型,close表示断开连接
        - Cookie:会话信息,包含JSESSIONID
        - Upgrade-Insecure-Requests:升级为HTTPS请求
        /*/
        username=admin&password=123

http响应包

HTTP/1.1 200 OK   #HTTP版本号和状态码,200表示成功
Server: openresty     #Web服务器类型
Date: Fri, 28 Apr 2023 14:36:31 GMT   #响应日期
Content-Type: text/html; charset=utf-8   #响应内容类型和字符编码
Content-Length: 75    #响应内容长度
Connection: close      #连接类型,close表示断开连接 
#响应主体:
<h1>wrong password!</h1>     #标题,密码错误
<h3><a href="Login">Click to log in again!</a></h3> 
#提示信息,点击链接再次登录

标签:http,请求,Type,Accept,Content,HTTP,数据包
From: https://www.cnblogs.com/nish1hundun/p/17364091.html

相关文章

  • powershell实现http上传文件
    服务端代码#监听IP地址和端口$ip="127.0.0.1"$port=8080#设置上传目录$uploadDir="D:\uploads"#创建HttpListener对象并启动监听$listener=New-ObjectSystem.Net.HttpListener$listener.Prefixes.Add("http://$ip`:$port/")$listener.Start()......
  • Tinyhttpd:抓包分析【3】
    一、问题引入分析http就离不开报文,或者可以利用wireshark抓包解析报文。二、解决过程http协议基于tcp/ip之上的应用层。tcp三次握手httpgetrequest报文通过报文内容可以看到,客户端HTTPVersion是HTTP1.1。客户端请求方法:GEThttprespond报文通过报文内......
  • Python报错:Can't connect to HTTPS URL because the SSL module is not available
    参考文章:(32条消息)Can‘tconnecttoHTTPSURLbecausetheSSLmoduleisnotavailable-关于anaconda中的SSL模块错误_anacondahttps报错_Sky_Tree_Delivery的博客-CSDN博客具体操作:将以下文件移动位置D:\Anaconda\Library\bin->D:\Anaconda\DLLs(此处D盘为我自己的安......
  • drony 配置 burp 抓取 指定 app 数据包
    drony 配置burp抓取指定app数据包优势:可以抓取指定app数据包 下载并安装到安卓手机上,繁体版https://apps.evozi.com/apk-downloader/?id=org.sandroproxy.drony 打开Drony,并右滑至SETTING标签页,选择Networks,点击当前在用的wifi名,进入Networkdetails设置页 ......
  • 4.[1201D - Treasure Hunting](https://codeforces.com/problemset/problem/1201/D)
    4.1201D-TreasureHunting题目意思:在一个n*m的地图上面,左下角的坐标是(1,1),最开始你位于左下角,一秒钟你可以进行往左或者往右的操作,你只能在一些特殊的列上面进行往上移动的操作,你不可以往下移动。现在告诉你k个宝藏的坐标信息以及哪些列是允许往上的,问最后至少要几秒可以遍历k......
  • Java中 HTTP下载 常用的需要设置的MIME类型
    .docapplication/msword.dotapplication/msword.docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.document.dotxapplication/vnd.openxmlformats-officedocument.wordprocessingml.template.docmapplication/vnd.ms-wo......
  • ASP.NET Core MVC 从入门到精通之HttpContext
    随着技术的发展,ASP.NETCoreMVC也推出了好长时间,经过不断的版本更新迭代,已经越来越完善,本系列文章主要讲解ASP.NETCoreMVC开发B/S系统过程中所涉及到的相关内容,适用于初学者,在校毕业生,或其他想从事ASP.NETCoreMVC系统开发的人员。经过前几篇文章的讲解,初步了解ASP.NETCore......
  • linux-部署harbor的https认证
    一、安装docker1.下载docker的rpm包[[email protected]~]#ll-rw-r--r--1rootroot101239922Apr1215:29docker-rpm-20_10_24.tar.gz2.解压并安装软件包[[email protected]~]#tarxfdocker-rpm-20_10_24.tar.gz[[email protected]~]#......
  • Httprunner4.x-02-运行测试项目
    安装环境:pip3installhttprunner遇到问题:subprocess-exited-with-error解决方法:pipinstall--upgradesetuptools ......
  • 交个朋友HttpRunnerV4.x 01-初次见面
     背景:Pytest是纯接口的自动化框架。而HttpRunner一款开源测试平台,可以实现接口测试/压力测试DevOps/数字体验监测。那交个新朋友HttpRunner学习下。 米哈游-平台部、有米科技-测试与工程质量保障部、通用环球医疗-环球健康等客户案例在使用HttpRunner框架。 为什么......