HTTP 协议
HTTP 协议构建于 TCP 协议之上,是一个应用层协议。
HTTP 1.x 协议头信息必须是 ASCII 码,后面的数据可以是任何格式(服务器回应的时候,必须告诉客户端,数据是什么格式,Content-Type 字段的作用)。
规范把 HTTP 请求分为三个部分:请求行(Request Line)、请求头(Headers)、消息主体(Body)。其中,headers 和 body 是可选的。
Request Line 和 Headers 以 \r\n 分隔,Headers 与 Body 之间有一个空行(两个 \r\n)。
<method> <request-URL> <version> <headers> <body>
method 有很多,常见的就是 GET 和 POST。http 1.1 为了表达不同的语义,引入了诸如 DELETE、PATCH 等方法,这种语义不是强制性的。
协议并没有规定 GET 请求不能带 body 。理论上,任何 HTTP 请求都可以带 body 的。代理一般不会缓存 POST 请求的响应内容。
HTTP 请求例子:
GET / HTTP/1.1 Host: www.baidu.com Connection: keep-alive User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) Accept: */*
服务器响应
HTTP/1.1 200 OK Content-Type: text/plain Content-Length: 137582 Expires: Thu, 05 Dec 1997 16:00:00 GMT Last-Modified: Wed, 5 August 1996 15:55:28 GMT Server: Apache 0.84 <html> <body>Hello World</body> </html>
一次 GET 或 POST 请求产生几个 TCP 数据包,这不是 HTTP 协议的范畴,一次 HTTP 请求发送几个 TCP 数据包由操作系统或框架的系统调用决定。
Cookie:
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Cookies
https://www.ruanyifeng.com/blog/2019/09/cookie-samesite.html
CORS:
https://blog.csdn.net/f641385712/category_11135672.html
https://www.ruanyifeng.com/blog/2016/04/same-origin-policy.html
https://www.ruanyifeng.com/blog/2016/04/cors.html
Content-Type:https://blog.csdn.net/wangjun5159/article/details/47781443
Server-sent events:
https://developer.mozilla.org/zh-CN/docs/Web/API/Server-sent_events/Using_server-sent_events
https://www.ruanyifeng.com/blog/2017/05/server-sent_events.html
BurpSuite:https://portswigger.net/burp/releases
curl -LOJ https://portswigger.net/burp/releases/download?product=pro&version=2025.4&type=Jar # https://github.com/h3110w0r1d-y/BurpLoaderKeygen & https://github.com/Tcilay-xi/backup # https://github.com/Leon406/BurpSuiteCN-Release curl -LOJ https://github.com/Tcilay-xi/backup/blob/main/BurpLoaderKeygen/BurpLoaderKeygen.jar curl -LOJ https://github.com/Leon406/BurpSuiteCN-Release/releases/download/v4.11.22/burpsuitloader-4.11.22-all.jar javaw -jar burpsuitloader-4.11.22-all.jar java \ -XX:+IgnoreUnrecognizedVMOptions \ --add-opens=java.desktop/javax.swing=ALL-UNNAMED \ --add-opens=java.base/java.lang=ALL-UNNAMED \ --add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \ --add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED \ --add-opens=java.base/jdk.internal.org.objectweb.asm.Opcodes=ALL-UNNAMED \ -noverify \ -javaagent:burpsuitloader-4.11.22-all.jar=loader,hanizfy \ -jar burpsuite_pro_v2025.3.2.jar
https://www.rfc-editor.org/rfc/rfc2616.html

浙公网安备 33010602011771号