PHP和HTTP请求和响应消息之间的链接


Link between PHP and HTTP Request and Response Messages

当我学习网络课程时,我了解了HTTP请求和响应消息,并且我知道如何合理地使用php进行编码。现在我的问题是,PHP必须有一些到HTTP请求和响应消息的链接,但如何链接。我似乎看不出两者之间的联系。我提出这个问题的理由是,我正在使用Twitter API控制台工具来查询他们的API。该工具发送以下HTTP请求:

GET /1.1/search/tweets.json?q=%40twitterapi HTTP/1.1
Authorization:
OAuth oauth_consumer_key="DC0se*******YdC8r4Smg",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1410970037",oauth_nonce="2453***055",oauth_version="1.0",oauth_token="796782156-ZhpFtSyPN5K3G**********088Z50Bo7aMWxkvgW",oauth_signature="Jes9MMAk**********CxsKm%2BCJs%3D"
Host:
api.twitter.com
X-Target-URI:
https://api.twitter.com
Connection:
Keep-Alive 

然后我得到一个HTTP响应:

HTTP/1.1 200 OK
x-frame-options:
SAMEORIGIN
content-type:
application/json;charset=utf-8
x-rate-limit-remaining:
177
last-modified:
Wed, 17 Sep 2014 16:07:17 GMT
status:
200 OK
date:
Wed, 17 Sep 2014 16:07:17 GMT
x-transaction:
491****a8cb3f7bd
pragma:
no-cache
cache-control:
no-cache, no-store, must-revalidate, pre-check=0, post-check=0
x-xss-protection:
1; mode=block
x-content-type-options:
nosniff
x-rate-limit-limit:
180
expires:
Tue, 31 Mar 1981 05:00:00 GMT
set-cookie:
lang=en
set-cookie:
guest_id=v1%3A14109******2451388; Domain=.twitter.com; Path=/; Expires=Fri, 16-Sep-2016 16:07:17 UTC
content-length:
59281
x-rate-limit-reset:
1410970526
server:
tfe_b
strict-transport-security:
max-age=631138519
x-access-level:
read-write-directmessages

那么,这些HTTP请求和响应消息是如何适应PHP的呢?PHP自动生成这个吗?如何向PHP请求等添加授权?我对PHP 的深层工作方式感到困惑

当客户端向服务器发送HTTP请求时,必须有一些东西来接收HTTP请求,这被称为web服务器。web服务器的例子有Apache、IIS、Nginx等。您也可以编写自己的服务器,它可以根据需要处理输入。在这种情况下,我假设您正在请求一个PHP文件。

当web服务器捕获HTTP请求时,它会确定应该如何处理它。如果请求的文件是tweets.json,它将确保该文件存在,然后将控制权移交给PHP。

然后,PHP开始执行,并执行脚本需要执行的任何逻辑,这意味着它可以进入数据库,读取、写入并做出基于cookie的决策,进行数学计算等。

当PHP脚本完成后,它将返回一个HTML页面和一堆标头给调用它的web服务器。从那里,web服务器将HTML页面和标头转换回HTTP请求以进行响应。

这是一个非常简单的概述,web服务器可以以许多不同的方式工作,但这是一在介绍性用例中如何工作的简单示例。在更复杂的场景中,人们可以编写自己的web服务器,在web服务器软件中执行更复杂的逻辑,而不是将其传递给PHP。

归根结底,PHP文件只是web服务器在调用它们时执行的脚本,它们提供HTTP请求作为输入,并获得网页和标题作为输出。