1. 程式人生 > >web基礎知識梳理(筆記)

web基礎知識梳理(筆記)

信息 空間 超文本 登錄訪問 trac xslt web基礎 request blog

http(1.1)知識點

http協議概念
http協議是用於客戶端和服務器端之間的超文本傳輸協議,通過請求和響應實現通信,是一種無狀態協議(即對請求和響應不會做持久化處理)。

http的請求方式(*為常見)

  • get :獲取服務器端的資源
  • post:客戶端傳輸數據到服務器端,並獲得相應的返回數據
    put :客戶端發送文件到服務器
    head :只返回response的頭部信息
    delete :刪除文件
    options:獲取指定資源可訪問的方式
    trace : 客戶端追蹤通信,查看request是如何被篡改的(常見於代理服務器)
    connect:要求用隧道協議連接代理服務器

http(1.1)持久連接
保持tcp連接狀態,持久連接有利於提高傳輸速度,提高傳輸效率

cookie和session
cookie的原理:通過request和response報文中寫入cookie信息來控制客戶端,首次訪問時,cookie會根據服務器端中的set-cookie字段將cookie保存本地中,以後再訪問同一服務器時會自動調用此cookie實現訪問,不同服務器下的cookie是保存在其域名下的。
session原理:由於登錄信息中會有用戶的個人信息,為了防止用戶信息被盜用,則使用session機制,session機制將用戶信息保存在服務器中並生成特定的加密key,將其返回給用戶保存在cookie中,再次訪問服務器時,服務器端通過session確定本次訪問的用戶,並將相應的頁面返回給用戶。(session具有時效性,其由服務器端確定)。
現在很多無需登錄訪問的服務器也會給根據用戶ip等信息給用戶生成特定的id,其主要目的就是反爬。

http code
即response返回的狀態碼,表示著某次request獲取到的response的情況
1開頭:request正在處理
2開頭:請求正常處理
常見:
200:request正常處理,response正常返回 204:request正常處理,無資源返回
206:request正常處理,其response內容只是一部分(request頭部有指定response的大小)

3開頭:request被重定向
常見:
301:資源的url已經更新(永久重定向)
302:資源的url已經更新(臨時重定向)
303:和302相似,不同的是要求用戶get獲取資源
304:資源已找到,但是不符合條件請求(非重定向)

4開頭:服務器無法處理請求(客戶端出錯)
常見:
400:request出錯(請求報文中有語法錯誤)
403:不允許訪問資源
404:訪問的資源不存在

5開頭:服務器處理出錯
常見:
500:內部資源出錯
503:服務器超負荷運載,或者正處在停機維修

爬蟲中http code原因,301,302等是指需要有驗證碼或者是需要登錄;403常指ip被封,在服務器正常的情況下,500常見於robot協議所致。

http首部信息

request首字部

https
https = http+加密+認證+完整性保護

html+css+javascript
html:超文本標記語言,通過渲染,解析後就會顯示出web頁面
css:規定html展現的樣式,通過html的標簽來定位某個空間內的樣式
javascript:是一種使用在網頁中的腳本語言,其主要作用是用來實現動態html
DOM:是操作html的api,使用其可以將html中的元素當做對象操作,常用javascrpit配合使用
ajax:無需刷新頁面就可以向服務器傳輸或者讀取數據,通過xhtml和css來標準化呈現,DOM實現動態化的顯示和交互,xml和xslt來實現數據的交換和處理,xmlhttprequests實現異步數據讀取,javascript處理數據
原理:在服務器和用戶之間創建一個中間層,使用戶操作和服務器響應異步,只有在讀取數據時才會從AJax引擎代向服務器發出請求。

web基礎知識梳理(筆記)