1. 程式人生 > >response物件和request物件

response物件和request物件

1. request 物件 和 response物件

1.1. request 物件
  • request 物件型別 , 繼承自stream.Readable
  • request 物件常用成員
  • request.headers
  • request.rawHeaders
  • request.httpVersion
  • request.method
  • request.url
1.2. response 物件
  • response 物件型別
  • response 物件常用成員
  • response.writeHead(statusCode[, statusMessage][, headers])
  1. This method must only be called once on a message and it must be called before response.end() is called.
  2. 這個方法在每次請求響應前都必須被呼叫(只能呼叫一次)。並且必須在end()方法呼叫前呼叫
2. If you call response.write() or response.end() before calling this, the implicit/mutable headers will be calculated and call this function for you.- 如果在呼叫writeHead()方法之前呼叫了write() 或 end()方法,系統會自動幫你呼叫writeHead()方法,並且會生成預設的響應頭3. When headers have been set with response.setHeader(), they will be merged with any headers passed to response.writeHead(), with the headers passed to response.writeHead() given precedence.- 如果通過
res.setHeader() 也設定了響應頭,那麼系統會將serHeader()設置的響應頭和writeHead()設定的響應頭合併。 並且writeHead()的設定優先 // 示例程式碼:res.writeHead(200, 'OK', { 'Content-Type': 'text/html; charset=utf-8', 'Content-Length': Buffer.byteLength(msg)});
  • response.write(chunk[, encoding][, callback])
  • 引數1:要寫入的資料,可以是字串或二進位制資料,必填
  • 引數2:編碼,預設是utf8,選填。
  • 引數3:回撥函式,選填。
  • response.end([data][, encoding][, callback])
  • 結束響應。
  • This method signals to the server that all of the response headers and body have been sent; that server should consider this message complete. The method, response.end(), MUST be called on each response.
  • res.end()這個方法告訴伺服器所有要傳送的響應頭和響應體都發送完畢了。可以人為這次響應結束了。
  • 同時每次響應都必須呼叫該方法,用來結束響應
* 引數1:結束響應前要傳送的資料,選填。* 引數2:編碼,選填。* 引數3:回撥函式,選填。
  • response.setHeader(name, value)
  • 設定響應報文頭
  • response.statusCode
  • 設定或讀取http響應碼
  • response.statusMessage
  • 設定或讀取http響應狀態訊息
  • 2. NPM 2.1. NPM 是什麼?
    • npm(全稱Node Package Manager,即node包管理器)是Node.js預設的、以JavaScript編寫的軟體包管理系統。
    2.2. 一般當我們說npm的時候可能指3件事
    1. NPM 包管理庫,儲存了大量的JavaScript程式碼庫
    2. NPM 客戶端,我們所使用的npm命令列工具。使用JavaScript開發的基於node.js的命令列工具,本身也是Node的一個包。
    2.3. NPM 官方解釋:
    • npm is the package manager for JavaScript and the world’s largest software registry.
    • npm 是一個JavaScript包管理器,並且是世界上最大的軟體登記處
    • discover packages of reusable code — and assemble them in powerful new ways.
    • 發現可重用程式碼,並整合程式碼包到專案中的全新的、強大方式
    • npm makes it easy for JavaScript developers to share and reuse code, and it makes it easy to update the code that you're sharing.
    • npm 讓JavaScript開發者共享和重用程式碼變的更容易,同時也讓我們更容易地更新正在被共享的程式碼
    2.4. npm與 node.js
    • npm是Node.js預設的軟體包管理系統。安裝完畢node後,會預設安裝好npm
    • npm本身也是基於Node.js開發的包(軟體)
    2.5. 如何安裝 NPM?
    • npm會隨著Node.js自動安裝,安裝完畢node.js後會自動安裝npm
    • 檢視當前npm版本:npm -v
    • 更新npm:npm install [email protected] -g
    2.6. NPM 使用
    1. 在專案的根目錄下,執行npm install 包名稱安裝
    2. 在node.js程式碼中通過 require('包名'); 載入該模組
    3. 注意:通過npm install 包名安裝的包,會自動下載到當前目錄下的node_modules目錄下,如果該目錄不存在,則建立,如果已存在則直接下載進去。
    4. 在程式碼中通過 require('包名'); 載入該模組
    ----- 上面說的這種方式叫做 本地安裝。 2.7. NPM 全域性安裝介紹
    1. 什麼是 npm 全域性安裝?
    • npm install 包名 -g npm 全域性安裝指的是把包安裝成了一個命令列工具。
    // 通過npm全域性安裝mime npm install mime -g //安裝完畢後可以在命令列中直接使用 mime a.txt 命令來檢視對應的結果
    1. npm 全域性安裝實際做了2件事:
    1. 下載包到一個指定的目錄C:\Users\username\AppData\Roaming\npm\node_modules
    2. 建立一段命令列執行的程式碼。C:\Users\username\AppData\Roaming\npm\mime -> C:\Users\steve xiaohu zhao\AppData\Roaming\npm\node_modules\mime\cli.js
2.8. NPM 安裝建議
  1. 全域性安裝只是為了可以當做命令列使用而已
2.9. npm常用命令介紹
  1. install,安裝包。npm install 包名
  2. uninstall,解除安裝包。·npm uninstall 包名`
  3. version,檢視當前npm版本。npm version 或 npm -v
  4. init,建立一個package.json檔案。npm init
  5. 注意:當使用 npm init -y 的時候,如果當前資料夾(目錄)的名字比較怪(有大寫、有中文等等)就會影響npm init -y 的一步生成操作,此時需要 npm init 根據嚮導來生成
2.10. "模組"(Modules)和"包"(Packages)的區別
  1. module is any file or directory that can be loaded by Node.js' require().
  2. 模組可以是任何一個檔案或目錄(目錄下可以有很多個檔案),只要能被node.js通過require()即可。
  1. package is a file or directory that is described by a package.json. This can happen in a bunch of different ways!
  2. 包是一個檔案或目錄(目錄下可以有多個檔案)必須有一個package.json檔案來描述,就可以是一個包。
node.js 錯誤除錯:
  1. 當開啟服務後,在瀏覽器中輸入地址,如果出現瀏覽問題,首先要先看 伺服器控制檯是否報錯。如果報錯,直接根據伺服器報錯進行排錯。
  2. 開啟瀏覽器開發者工具中的 “網路” 部分,檢視請求是否成功發出去了
  3. 看一下請求報文是不是和我們想的一樣
  4. 響應狀態碼
3. 在 html 網頁中路徑的含義 3.1. 在 html 網頁中相對路徑 './' 和 絕對路徑 '/'的含義
  1. "相對路徑" 到底 "相對" 的是什麼?
  • 相對當前請求的路徑
  • 相對於吐出當前網頁的路徑
3.2. 網頁中的這個路徑主要是告訴瀏覽器向哪個地址發起請求用的
  1. './' 表示本次請求從相對於當前頁面的請求路徑(即伺服器返回當前頁面時的請求路徑)開始
  2. '/' 表示請求從根目錄開始
3.3. 開啟瀏覽器來演示,最終主要體現在了請求報文的 url 上。

相關推薦

JSP學習筆記三之response物件request物件

接著上一篇,我們接著講JSP中的內建隱式物件。這篇部落格介紹的是request和response物件。 A. request物件      request物件是javax.servlet.http.HttpServletReq

response物件request物件

1. request 物件 和 response物件 1.1. request 物件 request 物件型別 , 繼承自stream.Readable request 物件常用成員 request

spring普通類獲取sessionrequest物件

在使用spring時,經常需要在普通類中獲取session、request物件。 比如一些AOP攔截器類,在有使用struts2時,因為struts2有一個介面使用org.apache.struts2.ServletActionContext即可很方便的取到session物件。用法: Ser

Flask原始碼解讀 --- 請求上下文request物件

前面第一篇主要記錄了Flask框架,從http請求發起,到返回響應,發生在server和app直接的過程。 裡面有說到,Flask框架有設計了兩種上下文,即應用上下文和請求上下文 官方文件裡是說先理解應用上下文比較好,不過我還是覺得反過來,從請求上下文開始記錄比較合適,所以

javaweb中重定向請求轉發(response.sendRedirect()request.getRequestDispatcher(rul).forward(request,response)))的區別

客戶端 不起作用 這也 方法 cnblogs rect() 獲取url rec alt 先來兩張圖,方便理解: 可以看出,重定向時,是服務器向遊覽器重新發送了一個response命令,讓遊覽器再次向url2發送請求,以獲取url2的資源 而請求轉發時,類似於是服務器自己

response.sendRedirect()request.getRequestDispatcher().forward(request,response)的區別

解決 新的 rain nbsp 響應 服務 war 站點 不知道 轉發方式:request.getRequestDispatcher().forward(); 重定向方式:response.sendRedirect(); 下面是HttpServletResponse.s

jQuery物件DOM物件之間的區別以及轉換方法

jQuery物件和DOM物件之間的區別以及轉換方法 在實現<script>標籤中的程式碼內容的時候,經常都會使用DOM物件和jQuery物件。當實現的物件多的時候就容易搞混,這裡做一下總結 jQuery物件是包裝DOM物件後產生的,

Es6中Map物件Set物件的介紹及應用

map和set的方法,工作中有使用到,所以學習一下:   Map 物件 Map 物件儲存鍵值對。任何值(物件或者原始值) 都可以作為一個鍵或一個值。 var myMap = new Map(); myMap.set("bar", "baz"); myMap.set(1, "foo"

9.13 檢視層之請求物件響應物件

解耦: 從瀏覽器訪問都是get請求,post請求可以是從form表單method=post       二、請求物件:         匹配到根路徑:    

魯棒圖的三元素:抽象物件,實體物件控制物件

魯棒圖簡介  ADMEMS方法推薦以魯棒圖來輔助初步設計。那麼,什麼是魯棒圖呢? 8.2.1  魯棒圖的3種元素 魯棒圖包含3種元素(如圖8-2所示),它們分別是邊界物件、控制物件、實體物件: 邊界物件對模擬外部環境和未來系統之間的互動進行建模。邊界物件負責接收外部輸入,處理內部內

python下,類物件例項物件區別,類變數例項變數區別

Y14 一、類物件和例項物件 簡短理論: 類物件是將具有相似屬性和方法的物件總結抽象為類物件,可以定義相似的一些屬性和方法,不同的例項物件去引用類物件的屬性和方法,能減少程式碼的重複率。 例項物件又稱例項化物件,不是抽象而是一類物件中具體的一例物件。 比

Java關於實體物件Map物件之間的轉換

/** * 實體物件轉成Map * @param obj 實體物件 * @return */ public static Map<String, Object> object2Map(Object obj) { Ma

jQuery物件DOM物件字串之間的轉化

如何完成jQuery物件和DOM物件和字串之間的轉化 其實非常簡單: 字串---------->jQuery物件 $(HTML字串): $(' 我是祖國的一朵小花 ') 待新增列表 jQuery物件---------->DOM物件 下標選取法(原理:

Day3-Date物件Array物件

Day3-Date物件和Array物件 Date物件 宣告一個Date(日期)物件; var d = new Date(); 獲取當前系統時間; var str = d.getFullYear()+"/"+(d.getMonth()+1)+"/"+

PB的應用物件事務物件

1.應用物件 application 通常被看做一個物件,所有的開發都是圍繞著物件的,應用物件整個程式的入口點,事務物件(預設SQLCA)是用來連線資料庫的 應用物件 ( 非可視物件) - 預設字型 - 程式圖示 - 應用庫搜尋 ( pbl 檔案, 不建議太大,一般不要超過 80

JQuery物件DOM物件之間的互轉

將JQuery物件轉換為DOM物件 /* * =========將JQuery物件轉換為DOM物件的方式一:========= * */ let domObjTwo = $("#J_demo")

jQuery物件Dom物件的區別與轉換

DOM是Document Object Model(文件物件模型)的簡寫,只有HTML,XML等文件結構的語言才具有DOM。 DOM中的節點通常分為三種類型:元素節點,屬性節點,文字節點。 1.元素節點:<html>,<body>,<p>,<ul&g

js物件jquery物件相互轉換

js物件轉化為jquery物件 方法:只需要用$()把DOM物件包起來,就能獲取一個jquery物件 示例: var dom=document.getElementById('dom');//js物件 var dom=$(dom);//jquery物件 轉換後就可以使用jq

Python手寫模擬單向連結串列物件物件

  單向連結串列: class error(Exception): def __init__(self,msg): super(error,self).__init__() self.msg=msg def __str__(self):

jQuery的檔案引入、入口函式以及js物件jquery物件之間的互相轉換

JavaScript與jquery的區別 JavaScript是一門程式語言,用來編寫客戶端瀏覽器指令碼。 jQuery是javascript的一個庫,包含多個可重用的函式,用來輔助簡化javascript開發 jQuery能做的javascript都能做到,而JavaScript能做的事情,