• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • web掃盲專題之入門概念

    發表于:2007-05-05來源:作者:點擊數: 標簽:httpweb測試web掃盲專題
    . http協議 除了TCP/IP協議,http可以說是最重要,且使用最多的 網絡 協議了。本節簡要介紹一下http協議的工作原理。 假設現在有一個html文件:http.html, 存放在Web 服務器 上,其URL為www.myweb.com/http.html ,文件內容為: HTML 代碼: html head titlehttp.
    . http協議

    除了TCP/IP協議,http可以說是最重要,且使用最多的網絡協議了。本節簡要介紹一下http協議的工作原理。

    假設現在有一個html文件:http.html, 存放在Web服務器上,其URL為www.myweb.com/http.html ,文件內容為:
    HTML 代碼:
    <html>
    <head>
    <title>http.html</title>
    </head>
    <body>
    hello, http
    </body>
    </html>

    現在,一個用戶通過IE訪問該地址,IE首先將此地址的域名通過DNS轉換為一個IP地址,然后通過一個Web服務器開放的端口(默認為80,不為80需在域名后加上“:端口號”,例如www.myweb.com:81)與其連接, 然后傳送一個類似這樣的http請求(使用flashget等下載軟件下載文件時,在詳細信息里也可以看到類似的信息):

    GET /http.html HTTP/1.1
    Host: www.myweb.com
    Accept: */*
    User-Agent: Mozilla/4.0 (compatible; MSIE.6.0; Windows NT 5.1)
    Pragma: no-cache
    Cache-Control: no-cache
    Connection: close
    [空行]

    請求的第一行為請求內容, 表示通過GET方法向服務器請求資源,/http.html為請求資源名稱,HTTP/1.1 表示使用http協議,版本1.1。然后接下來的幾行稱為請求信息的標頭(header),其中描述了請求的一些其他信息,比如客戶端瀏覽器標識等。最后一個空行表示請求結束。

    當Web服務器接收到該請求時,服務器檢查所請求的資源是否有效,且是否有相應的權限。如果沒有問題,則服務器會傳回類似如下的http響應信息:

    HTTP/1.1 200 OK
    Server: Microsoft-IIS/5.0
    Date: Thursday, March 31, 2005 17:15:23 GMT
    Content-Type: text/html
    Content-Length: 88
    [空行]
    <html>
    <head>
    <title>http.html</title>
    </head>
    <body>
    hello, http
    </body>
    </html>

    其中第一行的“200”是一個狀態碼,表示服務器成功完成該請求,如果不成功會返回其他狀態碼。Content-Type表示返回的數據類型,Content-Length表示返回的數據長度??招斜硎緲祟^結束,下面則是瀏覽器根據請求返回的數據內容,這里是http.html的文件內容,瀏覽器解析html源代碼,將Web頁面呈現給用戶,到這里就完成了一次成功的http通信。

    以上內容是Web通信的基礎,就和Windows消息機制一樣,你可能不會用到它,但是你必須了解它,你得知道那些高級的東西隱藏了哪些低級的內容,這樣對你理解和使用那些高級的東西都有非常大的幫助:)。

    2. html form

    前面的http.html文件是一個最簡單的靜態html頁面,但作為一個Web程序,它實在是太簡陋了,它不接受用戶輸入,永遠顯示一樣的內容。我們需要能夠根據用戶輸入來返回相應的數據。

    看下面的html代碼:
    <html>
    <head>
    <title>form.html</title>
    </head>
    <body>
         <form method=”get”>
               <input type=”text” name=”p” />
               <input type=”submit” value=”submit” />
         </form>
    </body>
    </html>

    觀察這段代碼,其中有一個html form,其內容包括在<form>和</form>之間, 其中有一個提交按鈕(<input type=”submit” value=”submit” />),當用戶點擊該按鈕時,瀏覽器將html form中的所有輸入提交給Web服務器,form標簽的method屬性指定了提交的方式,這里為get,這個get對應http請求中的GET請求方法,form中的輸入均以查詢字符串的方式附加在URL上, 在文本框里輸入一個字符串,比如“form”,然后觀察瀏覽器的地址欄,會變成類似 http://www.myweb.com/form.html?p=form ,這是因為瀏覽器發出了這樣的GET請求:

    GET /form.html?p=form HTTP/1.1
    ...
    ...
    [空行]

    假如<form>標簽的method屬性為”post”,即令瀏覽器使用post方法發送該請求,當使用post方法時,用戶的輸入并不是通過URL來傳輸的,而是瀏覽器將內容放在POST請求的標頭之后發送給Web服務器的:
    POST /form.html HTTP/1.1
    ...
    ...
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 6
    [空行]
    p=form

    瀏覽器將用戶輸入使用GET或者POST方法發送給Web服務器,這個過程稱為“回發(Postback)”。這個概念相當重要,在Web應用程序中經常涉及到回發。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>