content-MD5 : 实体内容报文摘要
Expires : 用于表示实体内容的过期时间
content-MD5 : 实体内容报文摘要
Expires : 用于表示实体内容的过期时间
connection: keep-alive ,会话保持
Cache-Control :控制缓存信息,
其中no-Cache 防止缓存过期信息,不缓存过期信息(给我最新的信息)
no-store 不要进行缓存
transfer-encoding:表示例如文件、图片的长度,对于明确长度的会写 content-length ,对于不明确长度的会写 Transfer-encoding : chunked (分块)
location:跳转
www-authenticate : 服务器的基础认证,因为是明文传输账号密码,现在一般不用
proxy-Authenticate:代理服务器对客户端的认证信息
响应报文
报文头
set-cookies :记录客户端信息,只有一开头回复200的包里面有,httponly不是所有服务器都设置,设置httponly字段,用于解决xss跨站请求脚本攻击,js脚本不能获取cookie
sever:表示web服务器信息,有时候服务器信息全部都暴露了,不希望有详细版本号。如Apache 。。。版本
X-Powered-By :告诉客户端用什么版本,版本号。不希望有详细版本号。PHP。。。版本
请求头,重要字段
host: 访问的目标地址/域名
user-Agent :用户代理,可以看到不同浏览器、手机终端型号
referer:参考字段,从哪个连接跳转过来
origin:与referer类似,知道哪个域过来
cookie:记录客户端身份信息,cookie是一个字段,session是一个会话过程
range:比如1000字节的包,1-500一个range,501-1000为另一个range
x-foreward-for (写作x-x-f):表示客户端/代理的ip地址
accept:表示客户端接受格式,MIME文件类型:text 文本、image图片、application应用
accept-charset:表示客户端接受的字符集,UTF-8
accept-encoding:客户端接受的编码gzip
accpet-language:客户端接受的语言
;q=0.9 选项优先级 q=0.8 ,最先优先级
DNT :Do Not Track 1代表用户不想被第三方网站追踪,0代表接受追踪,null代表用户不置可否
X-CSRF-Token :用于解决CSRF跨站请求伪造,通过Token令牌解决,保护用户cookie信息不被窃取
X开头不是规范里面有的,是厂商自定义。
常见状态码:
1XX : 正在处理
200 成功
302 重定向(跳转)
404 客户端请求错误或资源不存在,服务器无法处理
500 服务器内部错误,无法提供服务
503 服务器暂时无法提供服务
请求行
请求http request
1)包括请求行、请求头、请求信息
(1)请求行(get 或者 post)
get /http/1.1\r\n
get请求方法 (get /空格代表请求首页) ,一般有url
htpp/1.1 协议版本
\n 回车
(2)请求头
(3)请求信息
要请求的内容
响应
http/1.1 200 ok
http/1.1 版本号
200 状态码 , 2开头没问题 ,4、5开头有问题(404、500服务器坏了、302跳转)
响应行
响应头
响应信息
现在的游览器的服务器端的COOKIE也会存储客户信息
通用字段
Connection
用于表示连接是否可持续
Cache-Control
: no-cache 防止缓存过期信息,要求获取最新缓存
:max-age=xxxxxx 服务器告客户端缓存此消息最大时长
:no-cashe, max-age=0,must=revalidate,no-store
(no-cashe,不缓存过期信息。no-store,不要进行缓存)
Transfer-Encoding
表示输出的内容长度不能确定,需要分块处理(例如直播)
对于可预判长度用 content-length
Date
内容产生时间
Pragma
报文指令
Trailer
报文末端首部一览
响应字段
是否接受字节范围请求
响应字段
<Apache ---服务器通过什么软件服务>
<PHP----OS---->
HTTP协议
HTTP Request :
1. 请求行
→方法
GET
POST
→链接
2. 请求头
3. 请求信息
http Only这个字段并不是每个web服务器都会去设置这个字段的值
所以在一些set-cookie的内容中也看不到http-only的值或字段
规范化的做法是设置http-only,避免使用JScript获取set-cookie的数值
mujj7j6ubu7bt
http request包:
请求行:请求方法、URL/URI、版本
请求头:host(域名或IP地址)等,后续再讲
请求信息:后续再讲
响应信息:版本号 状态码 描述
响应头:
响应信息:
http request包:
请求行:请求方法、URL/URI、版本
请求头:host(域名或IP地址)等,后续再讲
请求信息:后续再讲
响应信息:版本号 状态码 描述
响应头:
响应信息:
server 字段可以提供服务器软件信息 可以利用找漏洞 根据版本号找漏洞
x-ponered-by 服务器本地使用的系统和编程语言
网址不带端口,默认端口是80
origin 表示你是从哪个网站来的 简洁版 只有网址没有参数
x-forward-for 追踪IP地址 ip1-ip2-ip3