刷卡機顯示應答碼99
網上關于刷卡機顯示應答碼99,解讀常見的http響應狀態碼的刷卡知識比較多,也有關于刷卡機顯示應答碼99的問題,今天第一pos網(m.fzog.com.cn)為大家整理刷卡常見知識,未來的我們終成一代卡神。
本文目錄一覽:
刷卡機顯示應答碼99
作為爬蟲工程師,每天都要和http協議打交道,那么我先提一個問題,大家思考下http狀態響應碼的作用是什么?日常開發中我們也許只需要知道2xx、4xx、5xx就夠了。遇到2xx,我們知道請求成功了,萬事大吉。遇到4xx,我們知道客戶端出錯了,這時我們需要檢查是鏈接寫錯了,還是該鏈接沒有權限訪問等等。而遇到5xx,則是服務端出錯了,這時我們去看日志,定位問題。以上,我們只是把響應狀態碼當做日志使用,而響應狀態碼作為客戶端與服務端交互的媒介,其真正的作用是指導客戶端后續的行為。比如返回3xx,代表資源已轉移,請客戶端重定向到給定地址。返回216,代表返回的只是資源的一部分,客戶端應繼續請求資源的剩余部分等等。下面我們將詳細介紹http常見的響應狀態碼。
一、http響應狀態碼分為五大類1、1xx 是提示信息,表示目前狀況一切正常,提示客戶端繼續后續操作1xx狀態碼實際能夠用到的時候很少,我們偶爾能夠見到的是"101 Switching Protocols",即正在切換協議。例如客戶端使用Upgrade頭字段,提議讓服務端改成其他的協議繼續通信,比如WebSocket,而如果服務器也同意變更協議,就會返回狀態碼101,之后兩端的數據傳輸就不會再使用HTTP協議了,而是改為協商好的WebSocket。下面這個例子是在淘寶商品搜索頁搜索商品時,其中的一個請求信息,大家可以自己查看
2、2xx 代表服務端收到并成功處理了客戶端的請求,這也是我們最想看到的狀態碼"200 OK" 是最常見的成功狀態碼,表示一切正常,服務器如客戶端所期望的那樣返回了處理結果,如果是非HEAD請求,通常在響應頭后都會有body數據;
"201 Created" 表示請求成功,并在服務器上創建了新的資源,通常是POST請求、PUT請求成功后返回的狀態碼;
"202 Accepted" 表示服務端已接受請求,但請求的處理尚未完成。這個狀態碼的設計被用來將請求交由另外一個進程或者服務器進行處理,或者是對請求進行批處理的場景。比如一個大作業無法及時完成,為了避免客戶端一直等待下去,先返回此狀態碼,客戶端接收到該狀態碼就可以斷開連接了;
"204 No Content" 表示服務端成功處理了客戶端的請求,但服務端無返回內容,沒有更新的文檔,客戶端應該繼續使用原來的文檔。比如用戶定期地刷新頁面,而服務端可以確定客戶端的文檔足夠新,這個狀態代碼是很有用的,這樣可以減少不必要的數據傳輸;
"206 Partial Content" 是HTTP分塊下載或斷點續傳的基礎,在客戶端發送“范圍請求”、要求獲取資源的部分數據時出現,它與200一樣,也是服務器成功處理了請求,但body里的數據不是資源的全部,只是其中的一部分。狀態碼206通常還會伴隨著頭字段“Content-Range”,表示響應報文里body數據的具體范圍,供客戶端確認,例如“Content-Range: bytes 0-99/2000”,意思是此次獲取的是總計2000個字節的前100個字節;
我們用curl命令演示下范圍請求圖片的過程,curl命令的使用方法后面會有單獨的一節介紹
1、查看服務器是否支持范圍請求,命令:curl -I ${圖片地址},如上圖curl -I http://www.yka365.com/blog/images/afs01.gif
2、分兩步請求圖片,命令:curl --header "Range: bytes=${開始的位置}-${結束的位置}" ${圖片地址} -o ${本地臨時保存路徑}
curl --header "Range: bytes=0-17000" http://www.yka365.com/blog/images/afs01.gif -o part1
curl --header "Range: bytes=17001-17700" http://www.yka365.com/blog/images/afs01.gif -o part2
3、將兩部分合并為一張完整的圖片,命令:cat ${圖片的第一部分文件名} ${圖片的第二部分文件名} >> ${完整的圖片名}
cat part1 part2 >> full.gif
3、3xx代表客戶端請求的資源發生了變動,客戶端必須用新的URI重新發送請求來獲取資源,也就是通常所說的"重定向""301 Moved Permanently" 稱為永久重定向,代表請求的資源已經不存在了,需要改用新的URI再次訪問;
"302 Found" 稱為臨時重定向,代表請求的資源還在,只是暫時用另外一個URI代替;
301和302都會在響應頭里使用字段 Location 指明后續要跳轉的 URI,最終的效果很相似,瀏覽器都會重定向到新的 URI。兩者的根本區別在于語義,一個是“永久”,一個是“臨時”,所以用在不同的場景中;
比如你個人博客網站的域名要進行切換,原來的域名不打算用了,這就是永久重定向,這時你就應該配置301重定向,將原來的網址重定向到新的網址上。
而如果今天夜里你的博客網站要進行系統維護,服務暫時不可用,這就屬于“臨時”的,此時可以配置成 302 跳轉,把流量臨時切換到一個靜態通知頁面,瀏覽器看到這個 302 就知道這只是暫時的情況,不會做緩存優化,第二天還會訪問原來的地址。
"304 Not Modified" 是服務端告訴客戶端 “請求的資源沒有做過更新,請繼續使用客戶端已緩存的資源”,即重定向到緩存。其過程是這樣的,客戶端發請求前,發現要請求的資源已經在緩存中了,但是不確定緩存中的內容是否已過期,于是查看緩存中資源的 Last Modified 時間,然后向服務端發送請求,請求頭中加上 If-Modified-Since 參數,值為 Last Modified 時間。服務端收到請求后,比較資源的修改時間和客戶端請求頭中的 Last Modified 時間,若大于請求頭中的Last Modified 時間則返回200狀態碼,并在響應體中返回最新的資源。否則只返回304狀態碼,這樣可以減少不必要的數據傳輸;
4、4××類狀態碼表示客戶端發送的請求報文有誤,服務器無法處理。"400 Bad Request" 是一個通用的錯誤碼,表示請求報文有錯誤,但具體是數據格式錯誤、缺少請求頭還是 URI 超長它沒有明確說,只是一個籠統的錯誤??蛻舳丝吹?400 只會是一頭霧水,不知所措。所以,在開發 Web 應用時應當盡量避免給客戶端返回 400,而是要用其他更有明確含義的狀態碼;
"401 Unauthorized" 要求身份驗證。對于需要登錄才能訪問的網頁,服務器可能返回此響應;
"403 Forbidden" 實際上不是客戶端的請求出錯,而是表示服務器禁止訪問資源。原因可能多種多樣,例如信息敏感、用戶本身沒有權限,如果服務器友好一點,可以在 body 里詳細說明拒絕請求的原因;
"404 Not Found" 是我們經??吹降囊粋€狀態碼,它的意思是資源在服務器上未找到,所以無法提供給客戶端;
"405 Method Not Allowed" 服務端不允許使用某些方法操作資源,例如不允許 POST 只能 GET;
"406 Not Acceptable" 資源無法滿足客戶端請求的條件,例如要請求中文,但服務端只有英文;
"408 Request Timeout" 請求超時,當客戶端和服務端建立連接后,服務端遲遲沒有收到請求數據,于是服務端主動放棄該連接;
"409 Conflict" 多個請求發生了沖突,沖突最有可能發生在對 PUT 請求的響應中。例如,當上傳文件的版本比服務器上已存在的要舊,從而導致版本沖突的時候,那么就有可能收到狀態碼為 409 的響應;
"413 Request Entity Too Large" 請求報文里的 body 太大;
"414 Request-URI Too Long" 請求行里的 URI 太大;
"429 Too Many Requests" 客戶端發送了太多的請求,通常是由于服務器的限連策略;
"431 Request Header Fields Too Large" 請求頭某個字段或總體太大;
5、5××類狀態碼表示客戶端請求報文正確,但服務器在處理時內部發生了錯誤,無法返回應有的響應數據,是服務器端的錯誤碼"500 Internal Server Error" 與 400 類似,也是一個通用的錯誤碼,服務器究竟發生了什么錯誤我們也不知道。不過對于服務器來說這應該算是好事,通常不應該把服務器內部的詳細信息,例如出錯的函數調用棧告訴外界。雖然不利于調試,但能夠防止黑客的窺探或者分析;
"501 Not Implemented" 表示客戶端請求的功能還不支持。比如請求 findUser 這個方法,而服務端暫時還沒實現這個服務,此時就可以返回501。這個錯誤碼提示用戶將來是打算提供 findUser 這個服務的,但是什么時候實現還不確定,敬請期待吧;
"502 Bad Gateway" 通常是服務器作為網關或者代理時返回的錯誤碼,表示服務器自身工作正常,訪問后端服務器時發生了錯誤,但具體的錯誤原因也是不知道的;
"503 Service Unavailable" 表示服務器當前很忙,暫時無法響應服務,我們上網時有時候遇到的“網絡服務正忙,請稍后重試”的提示信息就是狀態碼 503。503 是一個“臨時”的狀態,很可能過幾秒鐘后服務器就不那么忙了,可以繼續提供服務,所以 503 響應報文里通常還會有一個"Retry-After"字段,指示客戶端可以在多久以后再次嘗試發送請求;
二、常見問題419 和 503 的區別是什么?答、兩者的原因不同,429是客戶端請求太多,處理不過來,而503是服務器內部的問題,不一定是客戶端請求太多。
以上就是關于刷卡機顯示應答碼99,解讀常見的http響應狀態碼的知識,后面我們會繼續為大家整理關于刷卡機顯示應答碼99的知識,希望能夠幫助到大家!
轉載請帶上網址:http://m.fzog.com.cn/shuaka/53312.html
- 上一篇:2022年3月1日后還能用刷卡機嗎
- 下一篇:刷卡機在哪里買得到