一、什么是HTTP
HTTP: 超文本传输协议(HyperText Transfer Protocol的简称);是浏览器与Web服务器之间的数据交互需要遵循的一种规范
是什么: W3C组织推出的浏览器与Web服务器之间数据交互需遵循的一种规范
怎么用: 专门用于定义浏览器与Web服务器之间数据交换的格式
● HTTP是一种基于“请求”和“响应”的协议当
● 客户端与服务器建立连接后,由客户端(浏览器)向服务器端发送一个请求,被称作HTTP请求
● 客户端与服务器建立连接后,服务器接收到请求后会做出响应,称为HTTP响应
二、HTTP之所以在Web开发中占据重要的位置
● 支持主流软件架构:支持B/S、C/S软件架构。
● 简单快速:客户端向服务器请求服务时,只需传送请求方式和路径即可。常用的请求方式有GET、POST等,每种方式规定了客户端与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,通信速度快。
● 灵活:HTTP允许传输任意类型的数据,传输的数据类型由Content-Type标记。
三、查看HTTP消息
HTTP请求消息的概念: 当用户在浏览器中访问某个URL地址、单击某个超链接或者提交表单时,浏览器都会向服务器发送请求数据,即HTTP请求消息。
HTTP响应消息的概念: 服务器接收到请求数据后,将处理后的数据回送给客户端,这就是HTTP响应消息。
HTTP消息的概念: HTTP请求消息和HTTP响应消息统称为HTTP消息。
四、PHP处理过程
在浏览器与服务器的交互过程中,Web服务器通过HTTP协议与浏览器进行交互,PHP只用于处理动态请求。
处理过程:
● 当浏览器向Web服务器发送一个请求时,Web服务器会对请求做出处理,并返回处理结果。
● 在这个交互过程中,浏览器是通过URL地址来访问服务器的,并且数据在传输过程中需要遵循HTTP。
● 当数据传输到Web服务器时,Web服务器中的PHP程序会对数据进行处理,然后将处理好的数据返回给浏览器。
Web服务端处理
● 当请求到达服务器后,Apache就会判断客户端请求的是静态资源还是PHP文件。
● 如果请求的是静态资源如HTML、CSS、JavaScript和图片等文件,Apache就直接在服务器目录下获取这些文件。
● 如果请求的是PHP文件,Apache则会将其交给PHP模块来处理,PHP 模块将处理得到的结果返回给 Apache。
五、PHP请求信息
每个请求头都是由头字段名称和对应的值构成,中间用冒号“:”和空格分隔。这些头字段大部分是HTTP规定的,每个都有特定的用途,一些应用程序也可以添加自定义的字段。
请求行:
请求头:
请求头位于请求行之后,主要用于向服务器传递附加消息。
例如,浏览器可以接受的数据类型、压缩方法、语言以及系统环境。
六、PHP请求信息—响应状态行
响应状态码: 表示服务器对客户端请求的各种不同的处理结果和状态
组成: 响应状态码由一个三位十进制数表示
分类: 响应状态码共分为5个类别,通过最高位的1~5来分类
● 1xx: 成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程
● 2xx: 成功接收请求并已完成整个处理过程
● 3xx: 为完成请求,客户端需进一步细化请求
● 4xx: 客户端的请求有错误
● 5xx: 服务器端出现错误