服務(wù)器運維 yunwei

增加head頭信息-請求頭和響應(yīng)頭(全平臺服務(wù)器)

2023-05-12 1850 次

Nginx Web服務(wù)器,直接貼代碼,如果你的服務(wù)器也需要設(shè)置Nginx請求頭,可以直接使用。


在長期的網(wǎng)站建設(shè)軟件開發(fā)過程種,生產(chǎn)環(huán)境的服務(wù)器運維服務(wù)中最常見的設(shè)置。


服務(wù)器塊下的nginx.conf中添加以下參數(shù)

server {

      listen       443;

      server_name  ds.v.com;  # 駕駛


      location / {

    #Nginx配置

    #Strict-Transport-Security響應(yīng)頭缺失

    add_header Strict-Transport-Security 'max-age=15552000';

    #HTTP X-Permitted-Cross-Domain-Policies 響應(yīng)頭缺失

    add_header X-Permitted-Cross-Domain-Policies 'none';

    #點擊劫持漏洞(X-Frame-Options)

    add_header X-Frame-Options SAMEORIGIN;

    #Referrer-Policy響應(yīng)頭缺失

    add_header Referrer-Policy "no-referrer";

    #X-Content-Type-Options響應(yīng)頭缺失

    add_header X-Content-Type-Options nosniff;

    #X-Download-Options響應(yīng)頭缺失

    add_header X-Download-Options 'noopen';

    # Content-Security-Policy響應(yīng)頭缺失

    add_header Content-Security-Policy "script-src * 'unsafe-inline' 'unsafe-eval'";

    #X-XSS-Protection響應(yīng)頭缺失

    add_header X-XSS-Protection '1;mode=block';

    #會話cookie中缺少HttpOnly屬性

    add_header Set-Cookie "Path=/; HttpOnly; Secure"

        ...

      }

    }



本次操作逐一排查,凡是新增的服務(wù)器都相應(yīng)做了設(shè)置,以前老客戶的服務(wù)器之前都已經(jīng)操作過,不在此次的范圍內(nèi)。


已于昨日處理完畢,此次處理沒有影響服務(wù)器使用。


請求

請求,由客戶端向服務(wù)端發(fā)出,可以分為3部分內(nèi)容:請求方法(Request Method) 、請求的網(wǎng)址( Request URL )、請求報文(Request message)


請求方法

常見的請求方法有兩種:GET和POST。


在瀏覽器中直接輸入 URL 并回車,這便發(fā)起了一個 GET 請求,請求的參數(shù)會直接包含到 URL里。例如,在百度中搜索 Python ,這就是一個 GET 請求,鏈接為 https://www. baidu.corn/s?wd=Pthon,其中 URL 中包含了請求的參數(shù)信息,這里參數(shù) wd 表示要搜尋的關(guān)鍵字 。


POST 請求大多在表單提交時發(fā)起。比如,對于一個登錄表單,輸入用戶名和密碼后,點擊“登錄”按鈕,這通常會發(fā)起一個 POST請求,其數(shù)據(jù)通常以表單的形式傳輸,而不會體現(xiàn)在 URL中。


兩者區(qū)別

GET 請求中的參數(shù)包含在 URL 里面,數(shù)據(jù)可以在 URL 中看到,而 POST 請求的 URL 會包含這些數(shù)據(jù),數(shù)據(jù)都是通過表單形式傳輸?shù)?,會包含在請求體中。

GET 請求提交的數(shù)據(jù)最多只有 1024 字節(jié),而 POST 方式?jīng)]有限制。

一般來說,登錄時,需要提交用戶名和密碼,其中包含了信息,使用 GET 方式請求的話,密碼就會暴露在 URL 里面,造成密碼泄露,所以這里-以 POST 方式發(fā)送。上傳文件時,由于文件內(nèi)容比較大,也會選用 POST 方式。


其他請求方式


請求報文

由請求行、請求頭、請求體組成


請求行

由請求方式和HTTP協(xié)議和版本組成


如:GET / HTTP/1.1


請求頭

請求頭,用來說明服務(wù)器要使用的附加信息,比較重要的信息有 Cookie 、Referer、User-Agent等。下面簡要說明一些常用的頭信息。


Accept

請求報頭域,用于指定客戶端可接受哪些類型的信息。

Accept-Language

指定客戶端可接受的語言類型。

Accept-Encoding

指定客戶端可接受的內(nèi)容編碼。

Host

用于指定請求資源的主機 IP 和端口號,其內(nèi)容為請求 URL 的原始服務(wù)器或網(wǎng)關(guān)的位置。從HTTP 1. 版本開始,請求必須包含此內(nèi)容。

Cookie

也常用復(fù)數(shù)形式 Cookies ,這是網(wǎng)站為了辨別用戶進行會話跟蹤而存儲在用戶本地的數(shù)據(jù)。它的主要功能是維持當前訪問會話。例如,我們輸入用戶名和密碼成功登錄某個網(wǎng)站后,服務(wù)器會用會話保存登錄狀態(tài)信息,后面我們每次刷新或請求該站點的其他頁面時,會發(fā)現(xiàn)都是登錄狀態(tài),這就是Cookies 的功勞。Cookies 里有信息標識了我們所對應(yīng)的服務(wù)器的會話,每次瀏覽器在請求該站點的頁面時,都會在請求頭中加上 Cookies 并將其發(fā)送給服務(wù)器服務(wù)器通過 Cookies 識別出是我們自己,并且查出當前狀態(tài)是登錄狀態(tài),所以返回結(jié)果就是登錄之后才能看到的網(wǎng)頁內(nèi)容。

Referer

此內(nèi)容用來標識這個請求是從哪個頁面發(fā)過來的,服務(wù)器可以拿到這 信息并做相應(yīng)的處理,如做來源統(tǒng)計、防盜鏈處理等。

User-Agent

簡稱 UA ,它是一個特殊的字符串頭,可以使服務(wù)器識別客戶使用的操作系統(tǒng)及版本 瀏覽器及版本等信息 在做爬蟲時加上此信息,可以偽裝為瀏覽器;如果不加,很可能會被識別出為爬蟲。


Content-Type


也叫互聯(lián)網(wǎng)媒體類型( Internet Media Type )或者 MIME 類型,在 HTTP協(xié)議消息頭中,它用來表示具體請求中的媒體類型信息。例如, text/html 代表 HTML 格式,image/gif 代表 GIF 圖片, application/json 代表JSON 類型,


在爬蟲中,如果要構(gòu)造 POST 請求,需要使用正確的 Content-Type,并了解各種請求庫的各個參數(shù)設(shè)置時使用的是哪種 Content-Type,不然可能會導(dǎo)致 POST 提交后無法正常響應(yīng)。


請求體

內(nèi)容是 POST 請求中的表單數(shù)據(jù),而對于 GET 請求,請求體則為空。


響應(yīng)

響應(yīng),由服務(wù)端返回給客戶端,響應(yīng)報文可以分為三部分:響應(yīng)行( Response line )、響應(yīng)頭( Response Headers )和響應(yīng)體( Response Body)。


響應(yīng)行

由HTTP版本響應(yīng)、狀態(tài)碼、狀態(tài)描述組成。


如;HTTP/1.1 200 OK


響應(yīng)狀態(tài)碼

表示服務(wù)器的響應(yīng)狀態(tài)。


常見的狀態(tài)碼有:


200

請求成功

307

重定向

400

錯誤的請求

404

請求資源在服務(wù)器中不存在

500 

服務(wù)器內(nèi)部源代碼出現(xiàn)錯誤

狀態(tài)碼和錯誤原因如下圖:


響應(yīng)頭

用來說明響應(yīng)的數(shù)據(jù)


常用的響應(yīng)頭如下:


Accept-Patch

指定服務(wù)器所支持的文檔補丁格式

Accept-Ranges

服務(wù)器所支持的內(nèi)容范圍

Content-Disposition

對已知MIME類型資源的描述,瀏覽器可以根據(jù)這個響應(yīng)頭決定是對返回資源的動作,如:將其下載或是打開。

Content-Encoding

響應(yīng)資源所使用的編碼類型。

Content-Language

響就內(nèi)容所使用的語言

Content-Length

響應(yīng)消息體的長度,用8進制字節(jié)表示

Content-Type

當前內(nèi)容的MIME類型

Date

此條消息被發(fā)送時的日期和時間(以RFC 7231中定義的"HTTP日期"格式來表示)

Expires

指定一個日期/時間,超過該時間則認為此回應(yīng)已經(jīng)過期

Server

服務(wù)器的名稱

響應(yīng)體

就是網(wǎng)頁的代碼

近期更新:
返回頂部