HTTP协议

HTTP协议

HTTP:HypeTextTransfer Protocol的简称,超文本传输协议
是W3C组织推出的浏览器与Web服务器之间数据交互需遵循的一种规范
专门用于定义浏览器与Web服务器之间数据交换的格式

1.什么是HTTP

  • HTTP是基于“请求”和“响应”的协议
  • 当客户端与服务器建立连接后,由客户端(浏览器)向服务器发送一个请求,被称作HTTP请求
  • 客户端与服务器建立连接后,服务器收到请求后会做出响应,称为HTTP响应

HTTP之所以在Web开发中占据重要的位置

  • 支持主流软件架构:支持B/S、C/S软件架构
  • 简单快递:客户端向服务器请求服务时,只需传送请求方式和路径即可。常用的请求方式有GET、POST等,每种方式规定了客户端与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,通信速度快
  • 灵活:HTTP允许传输任意类型的数据,传输的数据类型由Content-Type标记。

2.查看HTTP消息

HTTP请求消息的概念: 当用户浏览器中访问某个URL地址/单击某个超链接或者提交表单时,浏览器都会向服务器发送请求数据,即HTTP请求消息
HTTP响应消息的概念: 服务器接收到请求数据后,将处理后的数据回送给客户端,这就是HTTP响应消息。
HTTP消息的概念: HTTP请求消息和HTTP响应消息统称为HTTP消息
在这里插入图片描述

3.PHP处理过程

在浏览器与服务器的交互过程中 ,Web服务器通过HTTP协议与浏览器进行交互,PHP只用于处理动态请求。

  • 当用户通过HTML页面输入数据并提交表单后
  • 输入的内容就会从浏览器传送到服务器
  • 经过服务器中的PHP程序处理后
  • 再将处理后的信息返回给浏览器
    在这里插入图片描述
  • 当浏览器向Web服务器发送一个请求时,Web服务器会对请求做出处理,并返回处理结果
  • 在这个交互过程中,浏览器是通过URL地址来访问服务器的,并且数据在传输中需要遵循HTTP
  • 当数据传输到Web服务器时,Web服务器中的PHP程序会对数据进行处理,然后将处理好的数据返回给浏览器
    HTTP请求
    当在客户端浏览器输入URL地址后,就会向指定服务器发起HTTP请求。在请求的同时,会附带请求消息头、请求消息体等相关信息
    Web服务端处理
    当请求到达服务器后,Apache就会判断客户端请求的是静态资源还是PHP文件。
  • 如果请求的是静态资源如HTML、CSS、Javascript和图片等文件,Apache就直接在服务器目录下获取这些文件。
  • 如果请求的是PHP文件,Apache则会将其交给PHP模块来处理,PHP模块将处理得到的结果返回给Apache。
    返回HTTP响应数据
  • Apache将获取到的资源(包括直接获取的静态资源和PHP处理的结果)通过HTTP响应发送到客户端浏览器。
    浏览器显示
    浏览器将服务器放回的资源,包括HTML、CSS、Javascript和图片下载到本地,进行解析并显示

4.HTTP请求消息

每个请求头都是由头字段名称和对应的值构成,中间用冒号“:”和空格分隔。这些头字段大部分是HTTP规定的,每个都有特定的用途,一些应用程序也可以添加自定义的字段。
在这里插入图片描述
1、HTTP请求消息—请求行

2.HTTP请求消息—请求头
请求头位于请求行之后,主要用于向服务器传递附加消息。
例如,浏览器可以接受的数据类型、压缩方法、语言以及系统环境。
在这里插入图片描述
3.HTTP请求消息—实体内容
通过POST方式提交表单时,浏览器会将用户填写的数据放在实体内容中发送。

<form method="post" action="/test.php">
<input type="text" name="name" value="test">
<input type="password" name="password" value="123456">
<input type="submit">
</form>

//提交表单后,发送的HTTP请求消息如下。

POST /test.php HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
Content-Length: 25

name=test&password=123456

使用POST方式提交表单

  • Content-Type消息头字段会自动设置为“application/x-www-form-urlencoded”,表示以URL编码的表单
  • Content-Length消息头会自动设置为实体内容的长度(25字节)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值