HTTP协议数据包
HTTP数据包
简介:由w3c制定的一种网络应用层协议,定义了浏览器与web服务器之间通信时所使用的数据格式。
0x00 数据包格式
1、请求行:请求类型/请求资源路径、协议的版本和类型
2、请求头:一些键值对,一般有w3c定义,浏览器与web服务器之间都可以发送,表示特定的某种含义
3、空行:请求头与请求体之间用一个空行隔开
4、请求体:要发送的数据(一般post方式会使用)如:UserName=123&PAssWord=123
0x01 请求头介绍
Hsot:表示请求的服务器域名/ip地址+端口
User-Agent:表示用户本地系统浏览器环境
Accept:表示浏览器可解析的应用环境
Accept-Language:表示浏览器可解析的语言类型
Accept-Encoding:表示浏览器可解析的编码方式
Referer:表示请求页面是从哪里来的
Cookie:表示服务器和浏览器之间的会话转台,该状态可以表示用户是否登陆过,一般都是服务器给配置的,具有时效性,只要失效就需要用户重新登录,会得到一个新的Cookie值,只要登录成功之后,浏览器就会保存cookie,妹子去服务器请求都会带上cookie,并且该cookie是需要在服务器中验证的
X-forwarded-for:表示用户真实ip
content-type:表示该请求数据的类型
0x02 响应包response
用户发送的请求包到达服务器,服务器处理该请求,处理之后返回发送给用户浏览器,讲该结果成为响应包。
响应包=状态行+响应报头+空行+响应正文(响应内容)
响应报头参数含义:
data:响应时间
server:服务器环境
content-length:响应数据包长度
connection:连接状态
content-type:返回响应数据类型,告诉浏览器该使用哪种方式去解析或打开盖响应数据的内容
location:表示要跳转到的页面
set-cookie:表示服务器给浏览器设置的cookie值
0x03 状态码的分类,由3位数字组成:
1xx 表示服务器已接收到请求,并需要继续处理
2xx 表示服务器已成功接收到请求,并处理了请求
3xx 表示重定向,url要跳转到其他页面去请求
4xx 表示用户请求客户端有问题
5xx表示服务器端内部错误
常见状态码:
200 表示请求已成功,请求所希望的响应头或数据将响应返回
203 表示服务器已成功处理了请求,但返回的试题头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝
302 表示请求的资源现在临时从不同的url响应请求,由于这一的重定向是临时的,客户端应继续向原有地址发送以后的请求
304 表示如果客户端发送了一个带条件的get请求且请求已被允许,而文档的内容并没有改变
400 表示语义有误,当前请求无法被服务器理解,或者请求的参数有误
401 表示当前请求需要用户验证,该响应必须包含一个适用于被请求资源的信息头用以询问用户信息
403 表示服务器已经理解请求,但是被拒绝执行,与401不同的事,身份验证并不能提供任何帮助,而这个请求也不应该呗重复提交
404 请求失败,请求所希望得到的资源未被在服务器上发现
500 服务器遇到一个未曾预料的状况,导致了它无法完成对请求的处理,一般是服务器的程序码出错时出现
PS:此博客是博主的学习记录过程,如有错误烦请大佬们纠正。
部分参考资料来源于其他博主
最新文章
- 手把手教你玩转nginx负载均衡(四)--源码安装nginx
- 微信小程序简介
- 怎样使用My97日期控件
- Win10切换中英输入法问题
- OA学习笔记-009-岗位管理的CRUD
- oracle 10g WMSYS.WM_CONCAT 函數的用法
- Animating Layout Changes(展开收起)
- hdu 4432 Sum of divisors(十进制转其他进制)
- WebHdfs
- 朗姆达表达式类似IN查询条件
- 写给后端的前端笔记:定位(position)
- 使用Hibernate Tools从数据库逆向生成Hibernate实体类
- Nginx http反向代理流程Proxy_pass模块
- BarTender怎样同时打印自动日期和流水号?
- python技巧 列表推导
- linux 用户配制文件 用户增加及删除 以及用户属于的更改
- sublime text syntaxdef
- CentOS7安装Nmon(linux性能监控工具)
- react-native 完整实现登录功能
- 用于sql代码实现用户的创建,以及不同用户之间登陆的切换
热门文章
- R语言factor类型转numeric
- ()C++中的赋值运算符重载函数(operator=)
- leetcode128-generate-parentheses
- 二维码生成与windows系统IP查询功能
- 内网渗透 day8-linux提权和后门植入
- nginx&;http 第三章 ngx http ngx_http_process_request_line读取和处理HTTP头部的行
- 329. Longest Increasing Path in a Matrix(核心在于缓存遍历过程中的中间结果)
- 目录方式扩展swap分区大小
- 有关线上系统点击没有任何相应得问题思考,主要针对PC端应用程序
- mysql数据库安装与卸载以及Navicat安装