日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

跟随我在oracle学习php(51)

發布時間:2025/3/15 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 跟随我在oracle学习php(51) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HTTP協議

超文本傳輸協議(HTTPHyperText Transfer Protocol)

最常見B/s架構中,使用,瀏覽器端與服務器端數據交互協議。

協議約定好的一套語法規則。

?

規定:請求數據格式,與響應數據格式

應用協議

?

?

請求協議

規范,瀏覽器向服務器發送數據格式

?

以上內容,就是瀏覽器在服務器的http://shop.kang.com/index.php?p=back&c=Admin&a=login請求時,所發送的數據。

?

請求數據分成三部分(列子中其實2個部分

請求行:request_line

請求數據的第一行,用來說明當前請求的最基本信息。

三塊組成:

GET /index.php?p=back&c=Admin&a=login HTTP/1.1 換行

方式?資源地址沒有域名)?協議版本?\r\n(回車換行CRLF)

?

請求request_header

請求頭信息,請求標頭

瀏覽器需要傳輸給服務器的屬性數據。

# 主機,請求的主機。用于標識一臺web服務器上的其中一個虛擬主機的。

Host: shop.kang.com

# 用戶代理UA,什么發出的請求。

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0

# 可以接受的內容類型

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

# 可以接受的語言

Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3

# 可以接受的數據編碼類型(壓縮編碼)

Accept-Encoding: gzip, deflate

# 攜帶的cookie數據

Cookie: PHPSESSID=i76sa2297sp1adlfk3e4eja612

# tcp連接類型 keep-alive保持激活

Connection: keep-alive

# Keep-Alive: 30 保持連接的時間段秒

# 緩存控制選項

Pragma: no-cache

Cache-Control: no-cache

?

注意語法格式:

,由標識與內容組,使用冒號分隔標識與冒號不能存在空格)

每個頭占用一行,結尾使用CRLF(回車換行\r\n)

可以存在多個頭

信息結束使用空行標志

?

?

?

請求主體:request_content

請求主要用戶數據。

就是POST數據。

如果方式為POST,則需要請求分主體GET沒有請求主

?

?

操作請求

通過瀏覽器所攜帶屬性,完成特定功能。

多語言程序(I18n,國際化程序)

?

項目:提供多套語言版本。

?

瀏覽器:請求時,攜帶屬性,告知服務器,需要那種語言。

通過請求頭:Accept-Language 告知服務器,希望使用的語言

?

?

?

?

?

項目:可以獲取瀏覽器需要的語言,載入相應的語言包,做展示。

獲取

?

?

?

找到最佳匹配:

項目存在默認的語言。(瀏覽器需要的,項目都沒有提供)

確定瀏覽器可以接受的語言列表,找到服務器中,最匹配(權重依次匹配

?

?

PHP發出請求(模擬請求)

采集程序。

公共平臺開發。

?

?

發出請求:

連接目標服務器發送符合請求協議格式的數據。

服務器就會將其視為請求,發出響應!

?

連接:

Fsockopen();建立一個internet連接

?

?

處理請求數據:

?

服務器發送,發出請求。

通過函數?fwrite即可完成。(fwrite可以向文件和網絡資源位置發送數據

?

?

獲取服務器的響應數據

使用 fgetS()完成

Feof,(end of file)用于檢測是否到到數據流末尾。

?

?

斷開連接

?

?

?

POST請求

存在請求主體數據。

請求行:POST

請求頭:存在對請求主體的描述

請求主體:post數據

?

?

?

?

?

CURL-Client URL

PHP擴展。

可以用來模擬URL客戶端瀏覽器請求代理)的工具擴展。

開啟擴展

?

Apacherestart

Tip

依賴類庫:

Php目錄

?

?

以上文件拷貝到系統目錄(windows中),將php目錄設置為path環境變量

?

?

?

?

模擬GET

Curl資源?= curl_init()初始化curl

curl_setopt(curl資源,選項標志,選項值)

curl_exec(資源)發出請求

curl_close()關閉資源

?

?

POST請求

?

?

處理響應數據

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);//

請求執行時,不是將響應直接輸出,而是以返回值的形式處理。

?

?

POST文件上傳

Post數據使用文件地址,前使用@標志為文件而不是字符串。

?

處理響應頭

CURLOPT_HEADER:是否獲取響應頭數據

?

?

處理會話COOKIE

模擬登錄)

接收服務器設置的cookie,并存儲于請求代理端

CURLOPT_COOKIEJAR?指定存儲服務器所設置的cookie變量存儲位置。

?

?

發出請求時攜帶擁有cookie

CURLOPT_COOKIEFILE

請求時攜帶的cookie數據所在的位置。

?

?

?

響應協議

?

也是三部分:

1響應行2響應頭3響應主體

響應行

響應數據第一行,響應結果的概述

http/1.1 302 FoundCRLF

版本 響應狀態碼?響應消息

響應狀態碼,和響應消息,一一對應。

?

302 Found:重定向,配合響應頭Location使用。

404 Not Found:請求資源不存在。

403 Forbidden:沒有權限訪問該地址

200 ok 請求成功

500 Server Internal Error 服務器內部錯誤

?

響應

服務器告知瀏覽器屬性信息。

響應主體

主體數據通過瀏覽器的查看源代碼所看到的內容)

?

操作響應

操作響應頭,header()可以

操作響應主體,任何的輸出,都是響應主體。(echo printvar_dumpPHP標簽之外的所有HTML代碼)

?

控制器瀏覽器緩存

?

Expires有效期,時間GMT時間,格林威治平時。

Gmdate() 將時間戳格式化為格林威治平時。

D,星期

M,月(三個英文月)

?

?

?

HTTP下載

下載:文件從服務器端傳輸到瀏覽器端。發生于服務器響應時。

PHP僅僅需要將需要下載的內容作為響應主體輸出即可。

?

通過響應頭Content-Disposition告知瀏覽器,接受到響應主體后的處理方式。

attachment 表示以附件的方式處理響應主體。

?

如果是文件的下載:

文件內容作為響應主體輸出即可!

?

?

控制下載的文件名(默認為請腳本名)

?

?

控制主體類型:

?

?

細致控制:

主體大小。

?

轉載于:https://www.cnblogs.com/RighTgraM/p/10925095.html

總結

以上是生活随笔為你收集整理的跟随我在oracle学习php(51)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。