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

PHP与HTTP请求和响应消息之间的链接,php,Php,当我学习网络课程时,我学习了HTTP请求和响应消息,我知道如何合理地用php编写代码,以便四处走动。现在我的问题是,PHP必须有一些到HTTP请求和响应消息的链接,但是如何链接呢。我似乎看不出两者之间的联系。我问这个问题的理由是,我正在使用Twitter API来查询他们的API。该工具发送以下HTTP请求: GET /1.1/search/tweets.json?q=%40twitterapi HTTP/1.1 Authorization: OAuth oauth_consumer_key="

当我学习网络课程时,我学习了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开始执行,并执行脚本需要执行的任何逻辑,这意味着它可以进入数据库,读取、写入并基于cookies做出决策,进行数学运算,等等

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

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


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

在PHP中使用什么来生成HTTP请求?我推荐使用cURL。一般来说,php接收请求,解析请求并生成响应,但是有各种各样的函数可以发出请求,比如file_get_contents,fopen etcThanks for Reply!好的,我的web服务器发送HTTP消息,PHP只是传递和接收web服务器要传递的HTTP消息的内容?是的,web服务器实际上是通过internet发送请求的服务器。PHP读取HTTP请求并基于它们执行逻辑并生成响应,然后web服务器将HTTP响应发送回请求者。PHP更适合于执行逻辑,web服务器建立连接并告诉PHP运行。