試中常問的一個問題就是:在瀏覽器輸入 URL 地址回車后,發生了什么?這里簡單概述一下。
總體流程圖如下:
1. URL 解析
瀏覽器首先對 URL 解析,解析出協議、域名、端口、資源路徑、參數等。
2. DNS 域名解析
一般而言,域名比 IP 地址更好記,因而我們更習慣在瀏覽器輸入域名而不是 IP,而計算機網絡通信所識別的計算機標識是 IP 地址,因而首先需要將一個域名轉化為相應的 IP 地址,這就是 DNS 協議所要做的事。
DNS 就像我們手機中的通訊錄一樣,通訊錄中備注的是對方的姓名(類似于域名),但是打電話的時候實際需要的是電話號碼(類似于 IP 地址),利用通訊錄將一個姓名轉化為對應的電話號碼。
3. 建立 TCP 連接
一般在瀏覽器輸入 URL,應用層的協議為 HTTP/HTTPS,其需要的是可靠的服務,所使用的傳輸層協議為 TCP。
通過域名解析后,瀏覽器獲得了服務器的 IP,則向服務器發起 TCP 連接,這時候就會發生三次握手行為。
4. 發送 HTTP 請求
當瀏覽器與服務器建立連接后,就可以進行數據通信過程,瀏覽器會給服務器發送一個 HTTP 請求報文,請求報文包括請求行、請求頭、請求空行和請求體。在請求行中會指定方法、資源路徑以及 HTTP 版本,其中資源路徑是指定所要操作資源在服務器中的位置,而方法是指定要對這個資源做什么樣的操作。
從瀏覽器輸入 URL,資源路徑在第一步就已經被解析出來了,而方法為 GET,表明要獲取資源,相當于增刪改查中的查詢。
5. 服務器對請求進行處理并做出響應
當收到瀏覽器發送的請求報文后,服務器會對此請求報文進行相應的處理,并返回響應報文給瀏覽器。比如請求報文想要獲取(GET) index.html 這個文件,那么服務器就會找到 index.html 文件,然后將此文件作為響應報文中的響應體發送給瀏覽器。
響應報文包括響應行、響應頭、響應空行和響應體。在響應行中會指定 HTTP 版本、狀態碼和對狀態碼的解釋信息,比如 HTTP/1.1 200 OK ,其中 200 是響應碼,指請求被正常處理,也就是成功 OK 的意思。
6. 瀏覽器解析渲染頁面
瀏覽器收到服務器的響應報文后,從響應體中得到相應資源,如 HTML 文件、圖片、視頻等,并進行渲染,然后將結果呈現給用戶。
7. 斷開 TCP 連接
當數據完成請求到返回的過程之后,根據請求/相應頭中 Connection 的 Keep-Alive 屬性可以選擇是否斷開 TCP 連接,如果不需要再進行數據通信,即可以關閉連接,此時則會發生四次揮手行為。
注意:
lt;hr>水平線
<hr size="9" /> 水平線(設定大小,單位:像素)
<hr width="80%" /> 水平線(設定寬度,單位:像素或百分比)
<hr color="#ff0000" /> 水平線對齊方式
<hr align="left" /> 水平線水平位置
<hr noshade /> 去掉水平線的陰影
align屬性值:center(默認值) left right
<hr width="30%" color="blue" size="9" align="left"/>
<center></center>水平居中.
<br/> 換行
<p></p> 標簽定義段落
<p align=""></p>將段落按左、中、右對齊;
align屬性值:left(默認值) right center justify
注意:
<h1>...<h6>標題標記與<p>段落標記都只有一個屬性align
<pre></pre> 定義預格式化的文本
<blockquote></blockquote> 設置段落縮進(可以縮進5個字符)
手冊上沒有的標記
<xmp></xmp> 忽略HTML標記
<nobr>…</nobr> 禁止換行
<wbr> 指定軟換行(或單詞換行),用在nobr標記中,即使用 <nobr> 禁止了換行,使用 <wbr> 仍然可以換行
<nobr>中華人民共和國上海市<wbr>黃浦區</wbr></nobr>
、問題:textarea默認文案,想使用換行展示?
但是使用/r/n</br>之類的都無效
*請認真填寫需求信息,我們會在24小時內與您取得聯系。