### 请求协议
也就是浏览器向服务器请求数据时候的格式!
**http请求又包含了四个部分:**
1. 请求行(request-line).
2. 请求头(request-header).
3. 空行.
4. 请求数据(request-content),也叫作请求内容或者请求主体.
![](https://box.kancloud.cn/724662fd46a97f55b8bdbf998ddcdfac_1368x404.png)
### 请求行
**请求行又可以分成三个部分:**
1. 请求方式.
2. 请求路径.
3. 协议版本.
**需要注意的几点:**
1. 请求行需要单独的占一行,用来说明当前请求的最基本的信息 .
2. 请求路径是不包括域名的 .
3. HTTP协议以前是1.0版本,现在是1.1版本 .
### 请求头
请求头就是所有当前需要用到的协议项的集合!
协议项就是浏览器在请求服务器的时候事先告诉服务器的一些信息,或者一些事先的约定!
**常见的请求头有:**
* host:当前url中所要请求的服务器的主机名(域名).
* accept-encoding:是浏览器发给服务器,声明浏览器支持的压缩编码类型 比如gzip .
* accept_charset:表示,浏览器支持的字符集 .
* referer:表示,此次请求来自哪个网址,就是从哪个页面跳转过来的 .
* accept-language:可以接收的语言类型,cn,en,有权重的高低之分 .Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3 .
* cookie:如果之前当前请求的服务器在浏览器端设置了数据(cookie),那么当前浏览器再次请求该服务器的时候,就会把对应的数据带过去 .
* user-agent:用户代理,当前发起请求的浏览器的内核信息 .
* accept:表示浏览器可以接收的数据类型,text/html,image/img .
* content-length(post):只有post提交的时候才会有的请求头,显示的是当前要提交的数据的长度(字节).
* if-modified-since(get):表示,在客户端向服务器请求某个资源文件时,询问此资源文件是否被修改过 .
### 空行
就是用来分离请求头和请求数据,意思就是请求头到此结束!
### 请求数据
只有post方式提交的时候,才有请求数据!
- PHP加密技术
- md5加密
- Crypt加密
- 函数
- 概述
- 强类型参数
- 可变参数列表
- 值传递&引用传递
- 变量作用域
- 可变函数
- 嵌套函数
- 递归函数
- 匿名函数(闭包)
- 面向对象
- 概念
- 类
- 对象的传值
- 对象的克隆
- 构造方法
- 析构方法
- 克隆方法
- $this
- 类常量
- 静态属性
- 静态方法
- 继承
- 重写
- 重载
- 概述
- 属性重载
- 概述
- __set()
- __get()
- __unset()
- __isset()
- 方法重载
- 概述
- __call()
- __callstatic()
- 封装
- 最终类
- 抽象类
- 接口
- 对象的序列化与反序列化
- __sleep()
- __wakeup()
- 其他魔术方法
- 对象的遍历
- 类和对象相关函数
- 错误
- 概述
- 设置错误级别
- trigger_error()触发错误
- 处理PHP中的错误
- 异常
- 概述
- 自定义异常类
- 自定义文件写入异常类
- 记录和发送异常信息
- 使用观察者模式处理异常信息
- 自定义异常处理器
- 设计模式
- 创建型
- 单例模式
- 工厂模式
- 原型模式
- 结构型
- 注册树模式
- 适配器模式
- 数据映射模式
- 装饰器模式
- 代理模式
- 行为型
- 策略模式
- 观察者模式
- 迭代器模式
- 网络
- cURL
- Oauth2.0
- QQ第三方登录
- TCP/IP协议
- 概述
- HTTP协议
- 概述
- HTTP请求协议
- HTTP响应协议
- WebSocket
- 安装扩展
- Redis
- Socket
- 计算机通信
- socket简介
- PHP操作socket
- TCP
- HTTP服务端
- WebSocket
- PHP7
- 生成器yield
- 异常finally
- CGI和FPM
- php有用命令
- 内存