当我学习网络课程时,我了解了HTTP请求和响应消息,并且我知道如何在php中合理地编写代码,以便能够绕过这些信息。现在我的问题是,PHP必须有一些指向HTTP请求和响应消息的链接,但是如何链接。我似乎看不出两者之间的联系。我问这个问题的理由是,我正在使用Twitter 控制台工具来查询他们的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的更深层次的工作感到困惑
发布于 2014-09-17 08:48:51
当客户端向服务器发送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请求作为输入,并获得一个网页和标题作为输出。
https://stackoverflow.com/questions/25895904
复制相似问题