主頁 >  其他 > web基礎與HTTP協議

web基礎與HTTP協議

2023-06-16 07:59:35 其他

目錄

一、DNS

二、域名

三、web基礎

四、HTTP

五、總結

 

 

 

 

 

 

 

 

摘要:簡單敘述web基礎,網頁的概念,域名決議,域名結構,HTML超文本傳輸語言,cookie和session擴展

 

一、DNS   

  1.DNS概念

      內網和外網無法通信,為了內網可以和外網通信,dns技術解決問題,可以將公網和私網互相通信,

  

     2.DNS型別

        正向決議:將域名決議為IP地址,

        反向決議:將IP地址轉換為域名地址,

 

     3.DNS決議方式

        (1) 快速決議檔案/etc/hosts

            linux系統中負責快速決議的檔案,包含了ip與主機名的映射關系,在沒有DNS服務器的情況下,使用本地/etc/hosts完成決議/映射,實作快速訪問

          優先級最高,

            主要用于主機之間(IP和主機名)的映射/決議關系

        (2)DNS客戶端組態檔/etc/resolv.conf

            DNS客戶端組態檔,主要用于設定DNS服務器的IP和域名,還包含了主機域名的搜索順序等等,這個檔案是由域名決議器使用的組態檔,

            主要用與匹配DNS服務器

         (3) 網卡組態檔/etc/sysconfig/network-scripts/ifcfg-ens33

              可以在網卡組態檔中定義DNS1,DNS2

  

            生效順序 1 hosts檔案 2 網卡組態檔 3 /etc/resolv.conf

 

二、域名

  1.域名概念

      網路是基于 TCP/IP 協議進行通信和連接的,每一臺主機都有一個唯一的標識(固定的 IP 地址),用以區別在網路上成千上萬個用戶和計算機,

    為了保證網路上每臺計算機的 IP 地址的唯 一性,用戶必須向特定機構申請注冊,分配 IP 地址

    2.域名分配

      為了保證地址唯一性,用戶協議向特地給機構申請注冊,分配IP地址網路中的地址

      兩套方案: ① IP地址系統 ② 域名地址系統

 

    (1)面試例子

        阿里云域名申請(未申請成功不可使用,會被封)

        1.準備材料

        2.查看并申請域名

        3.付款  

        4.備案

 

三、web基礎

    1.web概念

        (1)網頁

           純文本格式檔案 撰寫語言為HTML,在用戶的瀏覽器中被“翻譯”成網頁形式顯示出來,

        (2)網站

           由多個頁面構成的,每個網頁之間互相連接,通過超鏈接方式連接,

        (3)域名

          瀏覽網頁時輸入的網址,例如:www.baidu.com

        (4)HTTP/HTTPS

          HTTP是傳輸網頁的通信協議,而HTTPS是安全傳輸的通信協議

           

         (5)URL

          萬維網使用統一資源定位符來標志萬維網上的各種檔案,并使每個檔案在整個因特網的范圍內具有唯一的識別符號URL,

             

         (6)HTML

          撰寫網頁的語言,使用HTML超文本標記語言

         (7)超鏈接

            將多個網頁連接起來,可以互相切換,可以指定各種網頁,只需加入url地址

          (8)發布

            將制作好的網頁上傳到服務器供用戶訪問的程序,部署上云端,申請域名與IP地址映射,方便用戶訪問,

    

   2.Web版本    

      (1)Web1.0

          以編輯為特征,網站提供給用戶的內容是編輯處理后的,然后用戶閱讀網站提供的內容 這個程序是網站到用戶的單向行為

      (2)Web2.0

           更注重用戶的互動作用,用戶既是網站內容的消費者(瀏覽者),也是網站內容的制造者 加強了網站與用戶之間的互動,

             網站內容基于用戶提供,網站的諸多功能也由用戶參與建設,實作了網站與用戶雙向的交流與參與

          Web2.0特征 用戶分享、以興趣為聚合點的社群、開放的平臺,活躍的用戶

    

   3.靜態頁面 與動態頁面

      (1)靜態頁面

            使用HTML撰寫,是簡單的單向輸出的展示型網站,功能少無法互動,沒有資料庫作為支撐,

            每個靜態網頁都有一個url,而且url沒有?,因為沒有資料庫,更新資料很麻煩,靜態網頁每個網頁

            都是單獨存在,內容穩定,方便搜索,沒有互動瀏覽速度快,開啟速度快,

          

       (2)動態網頁

            動態網頁url不是固定的,可以進行互動,功能比較多,例如登錄注冊基礎功能,而且url中由?是動態頁面的識別符號

            更新資料快,維護簡單,會生成不同檔案,  

 

 

四、HTTP

   1.HTTP概念

      HTTP超文本傳輸協議是互聯網上應用最為廣泛的一種網路協議,它是基于TCP協議的應用層傳輸協議,簡單來說就是客戶端和服務端進行資料傳輸的一種規則,

   2.HTTP版本

      (1)HTTP 0.9

        1991,原型版本,功能簡陋,只有一個命令GET,只能回應HTML格式,已被淘汰,

       (2)HTTP 1.0

        每個TCP連接只能發送一個請求,發送資料完畢,連接就關閉,如果還要請求其他資源,就必須再新建 一個連接引入了POST命令和HEAD命令頭資訊

        是 ASCII 碼,后面資料可為任何格式,服務器回應時會告訴客戶端,資料是什么格式,

      (3)HTTP 1.1

        持久連接,即TCP連接默認不關閉,可以被多個請求復用,不用宣告Connection: keep-alive,對于同一個域名,大多數瀏覽器允許同時建立6

        個持久連接引入了管道機制,即在同一個TCP連接里,客戶端可以同時發送多個請求,進一步改進了HTTP協議的效率

   3.HTTP1.0和HTTP1.l之間的區別 

        (1) 快取處理

            在HTTP1.0中主要使用header里的If-Modified-Since,Expires來做為快取判斷的標準,HTTP1.1則引入了更多的快取控制策略

            例如Entitytag,If-Unmodified-Since,If-Match,If-None-Match等更多可供選擇的快取頭來控制快取策略,

        (2)帶寬優化及網路連接的使用

            HTTP1.0中,存在一些浪費帶寬的現象,例如客戶端只是需要某個物件的一部分,而服務器卻將整個物件送過來了,

            并且不支持斷點續傳功能,HTTP1.1則在請求頭引入了range頭域,它允許只請求資源的某個部分,即回傳碼是206 (Partial Content) ,

            這樣就方便了開發者自由的選擇以便于充分利用帶寬和連接

         (3)錯誤通知的管理

            在HTTP1.1中新增了24個錯誤狀態回應碼,如409 (Conflict)表示請求的資源與資源的當前狀態發生沖突;410(Gone)表示

            服務器上的某個資源被永久性的洗掉

         (4)Host頭處理

            在HTTP1.0中認為每臺服務器都系結一個唯一的IP地址,因此,請求訊息中的RZ并沒有傳遞主機名(hostname),但隨著虛擬主機技術的發展,

            在一臺物理服務器上可以存在多個虛擬主機(Multi-homed web Servers),并且它們共享一個Ie地址,

            HTTP1.1的請求訊息和回應訊息都應支持

            Host頭域,且請求訊息中如果沒有inost頭域會報告一個錯誤(400 Bad Request )

         (5)長連接

            HTTP1.1支持長連接〈PersistentConnection)和請求的流水線(Pipelining)處理,在一個TCP連接上可以傳送多個HTT請求和回應,

            減少了建立和關閉連接的消耗和延遲,在HTTP1.1中默認開啟connection:keep-alive,一定程度上彌補了HTTP1.0每次請求都要創建連接的缺點

     4.HTTPS 協議

          (1)HTTPS

              就是安全版的HTTP,目前大型網站基本實作全站解決安全問題

          (2)HTTPS特點

              HTTP和HTTPS使用的是不同的連接方式,埠不同,前者是80,后者是443

              HTTPS可以有效的防止運營商劫持,解決了防劫持的一個大問題

              HTTPS 實作程序降低用戶訪問速度,但經過合理優化和部署,HTTPS 對速度的影響還是可以接受的

              HTTP協議運行在TCP之上,所有傳輸的內容都是明文,HTTPS運行在SSL/TLS之上,SSL/TLS運行 在TCP之上,所有傳輸的內容都經過加密的

              HTTPS協議需要到CA申請證書,一般免費證書很少,需要交費

 

     5.HTTP 請求格式

         (1)GET 方式

               請求行 請求的方式 請求的資源路徑 請求的版本協議號

              請求頭(描述資訊/標準化資訊)

                 Accept:客戶端可以接受的資料型別 Accept-Language:客戶端可以接受的語言型別

                User-Agent:瀏覽器的資訊 Accpect-Encoding:客戶端可以接受的編碼格式

                Host:表示請求的ip和埠號 Connection:告訴服務器請求連接如何處理

                Keep-Alive:通知服務器回傳資料不要馬上關閉,保持一小段的連接 Closed:馬上關閉

         (2)POST 請求方式

               請求行 請求的方式 請求的資源路徑 請求的協議的版本號

               請求頭

                Accept:客戶端可以接受的資料型別 Accept-Language:客戶端可以接受的語言型別

                Referer:表示請求發起時,瀏覽器地址欄中的地址 User-Agent:瀏覽器的資訊

                Content-Type:發送的資料型別 Content-Length:發送的資料長度

              請求體:就是發送給服務器的資料

      6.GET 與POST 區別

         (1)語意上的區別

               Get向服務器請求資料,依照HTTP協議,get 是用來請求資料,

               Post向服務器發資料,依照HTTP協議,Post的語意是向服務器添加資料,也就是說按照Post的語意,該操作是會修改服務器上的資料

         (2)服務器請求的區別

              Get請求是可以被快取,示例: 訪問百度,訪問的方式就是GET,此時訪問后的內容會緩被存在瀏覽器中,短時間再次訪問,

                其實是拿到的瀏覽器中的快取內容 另外Get請求只能接收ASCII碼的回復

               Post請求是不可以被快取的,對于Post方式提交表單,重繪頁面瀏覽器會彈出提示框“是否重新提交表單”,

                Post可以接收二進制等各種資料形式,所以如果要上傳檔案一般用Post請求

         (3)引數放請求頭和請求體的差別

              Get請求通常沒有請求體(當然這也是可以由程式猿心情改變的),在TCP傳輸中只需傳輸一次(而不是一個包), 所以Get請求效率相對高,

               Post請求將資料放在請求體中,而實際傳輸中,會先傳輸完請求頭,再傳輸請求體,是分為兩次傳輸的(而不是兩個包),

                Post請求頭會比Get更小(一般不帶引數),請求頭更容易在一個TCP包中完成傳輸,更何況請求頭中有Content-Length的標識,

                可以更好地保證Http包的完整性,

      

     7.HTTP狀態碼

          (1)正常狀態碼和例外狀態碼

              當使用瀏覽器訪問某一個URL,會根據處理情況回傳相應的處理狀態 通常正常的狀態碼為2xx,3xx(如200)

               如果出現例外會回傳4xx,5xx(如404)

          (2)狀態碼

              狀態碼首位     已定義范圍   分類

               1xx      100-101    資訊提示

               2xx         200-206    成功

               3xx      300-305    重定向

               4xx      400-415   客戶端錯誤

               5xx        500-505   服務器錯誤

          (3)生產環境常見的HTTP狀態碼

              訊息        描述

              200          OK     請求成功(其后是對GET和POST請求的應答檔案)

                 301     Moved Permanently 請求的永久頁面跳轉

              403       Forbidden   禁止訪問該頁面

              404       Not Found   服務器無法找到被請求的頁面

              500     Internal Server Error  內部服務器錯誤

              502     Bad Gateway     無效網關

              503      Service Unavailable   當前服務不可用

              504      Gateway Timeout   網關請求超時

 

      8.HTTP協議請求流程

           程序:用戶輸入URL客戶端獲取到埠及主機名后,客戶端利用DNS決議域名,首先客戶端的瀏覽器會先找自身的快取,如果有決議結束,如果沒有客戶端    ·             會去找host檔案,如果host檔案沒有的話,客戶端會去找本地的DNS快取服務器,本地的DNS快取服務器沒有的話,快取服務器會去找根域,根域                         沒有,會回傳一個.com.然后本地快取服務器會去找頂級域,頂級域沒有的話會回傳baidu.com.,然后本地快取服務器會去找二級域,二級域決議完                    后會回傳客戶端,

              客戶端決議到IP地址后會通過TCP的三次握手與服務器建立連接

      9.HTTP狀態

          (1)無狀態

              當網頁的內容沒有改變,那么就是無狀態,例子:今天寫了一個100內加減的shell腳本,第二天還是100內加減的shell腳本,

          (2)有狀態

              當網頁的內容有所改變,那么就是有狀態,例子:今天寫了100內加減的shell腳本,第二天又寫了一遍,然后又寫了500以內加減法,

     

      10.cookie和session擴展

          (1)功能

              cookie和session都為了實作的是http的短期的持久化(記憶體/快取方式,查詢快、效率比較高)cookie 是快取在用戶端(client)瀏覽器中的(默認快取一                     天),當下次客戶端通過同一個瀏覽器訪問客戶端的時候,會優先讀取cookie中的快取資訊,向服務端進行請求,同時服務端收到客戶端請求的時                候,讀取到cookie檔案,知道客戶端之前找的是服務器A處理的任務,為了省事兒,省資源,干脆直接講請求直接再交給服務器A處理 

            (2)區別

                cookie 省服務器性能 session 更安全,為后面服務、集群、功能優化做鋪墊,具體解釋了怎么解決HTTP無狀態協議的持久化/存盤,

                cookie是再客戶端,seesion是在服務端

 

  

五、總結

       web基礎可以分為網頁和網站,網頁是組成網站的基礎,HTML超文本標記語言是撰寫網頁的語言,現如今使用的是HTML1.0和2.0,網頁則使用靜態網頁和動態網頁的結合,現如今使用DNS決議地址,讓公網和私網可以通信,當網頁可以決議,狀態碼可以反應出相應的狀態,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/555276.html

標籤:其他

上一篇:SQL查詢面試題,會這些基本夠用了

下一篇:返回列表

標籤雲
其他(161068) Python(38230) JavaScript(25496) Java(18240) C(15237) 區塊鏈(8271) C#(7972) AI(7469) 爪哇(7425) MySQL(7253) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5875) 数组(5741) R(5409) Linux(5347) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4594) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2435) ASP.NET(2404) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) .NET技术(1984) 功能(1967) HtmlCss(1966) Web開發(1951) C++(1940) python-3.x(1918) 弹簧靴(1913) xml(1889) PostgreSQL(1881) .NETCore(1863) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • web基礎與HTTP協議

    目錄 一、DNS 二、域名 三、web基礎 四、HTTP 五、總結 摘要:簡單敘述web基礎,網頁的概念,域名決議,域名結構,HTML超文本傳輸語言,cookie和session擴展 一、DNS 1.DNS概念 內網和外網無法通信,為了內網可以和外網通信,dns技術解決問題,可以將公網和私網互相通信 ......

    uj5u.com 2023-06-16 07:59:35 more
  • SQL查詢面試題,會這些基本夠用了

    ### 寫在前面 我已經記不起來,有多久沒更新文章了。 5月中旬我還在上班,中旬以后一系列發生的事情,真的遠遠超出了可承受范圍,只能硬著頭皮面對! 我是誰,我應該是誰,又能怎樣,只能向前····· ### 資料庫實體 #### class表 ![image.png](https://p6-jueji ......

    uj5u.com 2023-06-16 07:58:43 more
  • 科普|一文看懂虛擬人技術原理

    本文作者來自即構開發者社區@ Daniel 投稿,為我們分享時下熱門的數字人技術。IDC 預計,到 2026 年,中國 AI 數字人市場規模將達到 102.4 億元。開發者有必要對數字人技術有完整的認知和理解。 ......

    uj5u.com 2023-06-16 07:58:35 more
  • Open AI ChatGPT Prompt 學習之基礎篇

    2023 年,最火的可能就是 openAI 了,其組織代表的產品 chatGTP,相信大家已經有所耳聞。不少同學已經開始著手使用,并截圖曬出 ChatGPT 是多么得智能與神奇。而有的同學在使用之后覺得有點差強人意,指出頂多算是一個比較聰明的聊天機器人而已。

    其實,ChatGPT 的難點,在于 P... ......

    uj5u.com 2023-06-16 07:58:31 more
  • 批量生成,本地推理,人工智能聲音克隆框架PaddleSpeech本地批量克

    云端煉丹固然是極好的,但不能否認的是,成本要比本地高得多,同時考慮到深度學習的訓練相對于推理來說成本也更高,這主要是因為它需要大量的資料、計算資源和時間等資源,并且對超引數的調整也要求較高,更適合在云端進行。 在推理階段,模型的權重和引數不再調整。相反,模型根據輸入資料的特征進行計算,并輸出預測結果 ......

    uj5u.com 2023-06-16 07:58:24 more
  • ChatGPT+Mermaid自然語言流程圖形化產出小試

    本文旨在介紹如何使用ChatGPT和Mermaid語言生成流程圖的技術。在現代軟體開發中,流程圖是一種重要的工具,用于可視化和呈現各種流程和結構。結合ChatGPT的自然語言處理能力和Mermaid的簡單語法,可以輕松地將文本描述轉化為圖形表示,使技術檔案更具可讀性和易懂性。 ......

    uj5u.com 2023-06-16 07:58:15 more
  • web3產品介紹:mask將Web3的隱私和優勢引入像Facebook和Twitter這

    介紹: Mask Network是一個開源的瀏覽器擴展,將Web3的隱私和優勢引入像Facebook和Twitter這樣的社交媒體平臺。它是一個功能強大的工具,允許用戶在社交媒體上享受區塊鏈的隱私保護和其他Web3的好處。讓我們一起探索Mask Network的主要特點和為用戶帶來的益處。 主要特點 ......

    uj5u.com 2023-06-16 07:58:11 more
  • 給你的 Discord 接入一個既能聯網又能畫畫的 ChatGPT

    如果有這樣一款 Discord 機器人,它既能**訪問互聯網**,又能**繪畫**,還能給 YouTube 視頻提供**摘要**。最重要的是,它是**完全免費**的,不需要提供 OpenAI 的 API Key,**我就問你香不香?** 現在就有這樣一款機器人,你用還是不用? ## Discord ......

    uj5u.com 2023-06-16 07:57:39 more
  • 北斗GPS衛星授時服務器(NTP授時)應用于地鐵自控系統

    北斗GPS衛星授時服務器(NTP授時)應用于地鐵自控系統 北斗GPS衛星授時服務器(NTP授時)應用于地鐵自控系統 京準電子科技官微——ahjzsz 1.1時鐘系統概況 地鐵時鐘系統是軌道交通系統的重要組成部份之一,其主要作用是為控制中心調度員、車站值班員、各部門作業人員及乘客提供統一的標準時間資訊 ......

    uj5u.com 2023-06-16 07:57:09 more
  • 解密Prompt系列9. 模型復雜推理-思維鏈COT基礎和進階玩法

    這一篇真的是解密prompt!我們會討論下思維鏈(chain-of-Thought)提示詞究竟要如何寫,如何寫的更高級,介紹包括few-shot,zero-shot,循序漸進式和一致性COT的寫法 ......

    uj5u.com 2023-06-16 07:55:36 more