HTML

遵循的htt協(xié)議

HTTP/1.1 200 OK\r\n\r\n

在瀏覽器端輸入 URl:127.0.0.1:9090進行訪問

瀏覽器發(fā)請求 --> HTTP協(xié)議 --> 服務端接收請求 --> 服務端返回響應 --> 服務端把HTML文件內(nèi)容發(fā)給瀏覽器 --> 瀏覽器渲染頁面

import socket
sk = socket.socket()
sk.bind(('127.0.0.1',9090))
sk.listen()

while 1:
    conn,addr = sk.accept()
    ret = conn.recv(1024)
    print(ret)
    # 或conn.send(b'HTTP/1.1 200 OK\r\ncontent-type: text/html; charset=utf-8\r\n\r\n')
    conn.send(b"HTTP/1.1 200 OK\r\n\r\n ")
    with open(r'C:\Users\Administrator\PycharmProjects\Snack\Python\PY練習\練習.py','rb') as f:
        conn.send(f.read())
    conn.close()

sk.close()

URL:統(tǒng)一資源定位符
URL地址由4部分組成

第1部分:為協(xié)議:http://、ftp://等 
第2部分:為站點地址:可以是域名或IP地址
第3部分:為頁面在站點中的目錄:stu
第4部分:為頁面名稱,例如 index.html
各部分之間用“/”符號隔開。

HTML

  • 超文本標記語言
  • 瀏覽器可識別的規(guī)則,標記語言(兼容性問題)
  • 網(wǎng)頁文件的擴展名:.html或.htm
  • HTML是一種標記語言(markup language),它不是一種編程語言。
    1. CS   -->  BS架構(gòu)
    2. Web的原理
        瀏覽器地址欄輸入URL
            --> 瀏覽器往服務端發(fā)消息 
                --> 服務端接收消息
                    --> 服務端回消息(從文件中讀取數(shù)據(jù))
                        --> 瀏覽器收到消息(按照一個約定好的規(guī)則展示出來)

HTML文檔結(jié)構(gòu):

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>css樣式優(yōu)先級</title>
</head>
<body>

</body>
</html>

1.<!DOCTYPE html>聲明為HTML5文檔
2.<html>、</html>是文檔的開始標記和結(jié)束的標記。是HTML頁面的根元素
3.<head>、</head>定義了HTML文檔的開頭部分。包含了文檔的元(meta)數(shù)據(jù)。
4.<title>、</title>定義了網(wǎng)頁標題,在瀏覽器標題欄顯示。
5.<body>、</body>之間的文本是可見的網(wǎng)頁主體內(nèi)容。
6.中文網(wǎng)頁需要使用 <meta charset="utf-8"> 聲明編碼,否則會出現(xiàn)亂碼。有些瀏覽器會設(shè)置 GBK 為默認編碼,則你需要設(shè)置為 <meta charset="gbk">。

html標簽格式
1.尖括號包圍的關(guān)鍵字
2.HTML標簽通常是成對出現(xiàn)的,比如:<div>和</div>,第一個標簽是開始,第二個標簽是結(jié)束。
3.部分標簽是單獨呈現(xiàn)的,比如:<br/>、<hr/>、<img src="1.jpg" />等。
4.標簽里面可以有若干屬性,也可以不帶屬性。
標簽的語法:
<標簽名 屬性1=“屬性值1” 屬性2=“屬性值2”……>內(nèi)容部分</標簽名>
<標簽名 屬性1=“屬性值1” 屬性2=“屬性值2”…… />

幾個很重要的屬性:

id:定義標簽的唯一ID,HTML文檔樹中唯一
class:為html元素定義一個或多個類名(classname)(CSS樣式類名)
style:規(guī)定元素的行內(nèi)樣式(CSS樣式)

HTML注釋:

<!--注釋內(nèi)容-->

<!DOCTYPE> 標簽:

<!DOCTYPE> 聲明不是 HTML 標簽;它是指示 web 瀏覽器關(guān)于頁面使用哪個 HTML 版本進行編寫的指令。

head內(nèi)常用標簽:

<title></title> 定義網(wǎng)頁標題
<style></style> 定義內(nèi)部樣式表
<script></script>   定義JS代碼或引入外部JS文件
<link/> 引入外部樣式表文件
<meta/> 定義網(wǎng)頁原信息

Meta標簽介紹:

meta標簽的組成:meta標簽共有兩個屬性,它們分別是http-equiv屬性和name 屬性,不同的屬性又有不同的參數(shù)值,這些不同的參數(shù)值就實現(xiàn)了不同的網(wǎng)頁功能。

1.http-equiv屬性:相當于http的文件頭作用,它可以向瀏覽器傳回一些有用的信息,以幫助正確地顯示網(wǎng)頁內(nèi)容,與之對應的屬性值為content,content中的內(nèi)容其實就是各個參數(shù)的變量值。

<!--2秒后跳轉(zhuǎn)到對應的網(wǎng)址,注意引號-->
<meta http-equiv="refresh" content="2;URL=https://www.oldboyedu.com">
<!--指定文檔的編碼類型-->
<meta http-equiv="content-Type" charset=UTF8">
<!--告訴IE以最高級模式渲染文檔-->
<meta http-equiv="x-ua-compatible" content="IE=edge">

2.name屬性: 主要用于描述網(wǎng)頁,與之對應的屬性值為content,content中的內(nèi)容主要是便于搜索引擎機器人查找信息和分類信息用的。

<meta name="keywords" content="meta總結(jié),html meta,meta屬性,meta跳轉(zhuǎn)">
<meta name="description" content="老男孩教育Python學院">

<meta>元素可提供有關(guān)頁面的原信息(mata-information),針對搜索引擎和更新頻度的描述和關(guān)鍵詞。
<meta>標簽位于文檔的頭部,不包含任何內(nèi)容。
<meta>提供的信息是用戶不可見的。

<head>
    <meta lang="zh-CN">
    <title>騎士計劃!改變世界,從西麗開始!</title>
    <!--指定文檔的編碼類型-->
    <meta http-equiv="content-Type" charset="UTF8">
    <!--告訴IE以最高級模式渲染文檔-->
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <!--刷新2秒后跳轉(zhuǎn)到指定網(wǎng)站,沒有URl就是兩秒刷新一次-->
    <meta http-equiv="refresh" content="2;URL=https://www.oldboyedu.com">
    <!--搜素引擎優(yōu)化-->
    <meta name="keywords" content="meta總結(jié),html meta,meta屬性,meta跳轉(zhuǎn)"> # 關(guān)鍵字搜素 
    <meta name="description" content="老男孩教育Python學院"> # 描述網(wǎng)站信息
</head>

body內(nèi)常用標簽:

id:html文檔中唯一
a:鏈接可點擊href="URL"

<body>
    <!-- 這就是注釋 -->
    <h1 s1="hao" style="color: red">Hello world!</h1>
    <a id="a1" >路飛學城</a> 
    <a id="a2" >jd.com</a>
    <!--<a >sogo.com</a>-->
</body>

常用標簽

<b>加粗</b>
<i>斜體</i>
<u>下劃線</u>
<s>刪除</s>

<p>段落標簽</p>

<h1>標題1</h1>
<h2>標題2</h2>
<h3>標題3</h3>
<h4>標題4</h4>
<h5>標題5</h5>
<h6>標題6</h6>

換行--><br>

水平線--><hr>

特殊字符

空格  &nbsp;
HTML中把連續(xù)的空格和換行都解析成一個空格,不存在縮進的問題
>   &gt;
<   &lt;
&   &amp;
¥   &yen;
版權(quán)  &copy;
注冊  &reg;

div標簽和span標簽
div: 獨占一行,塊級標簽
塊級標簽:

                自己獨占一行!
                p
                h1~h6
                hr
                div

span:不換行,行內(nèi)標簽
行內(nèi)標簽(內(nèi)聯(lián)標簽):

                默認都在一行顯示!
                b、i、u、s
                span

1.div標簽用來定義一個塊級元素,并無實際的意義。主要通過CSS樣式為其賦予不同的表現(xiàn)。
2.span標簽用來定義內(nèi)聯(lián)(行內(nèi))元素,并無實際的意義。主要通過CSS樣式為其賦予不同的表現(xiàn)。

注意:

關(guān)于標簽嵌套:通常塊級元素可以包含內(nèi)聯(lián)元素或某些塊級元素,但內(nèi)聯(lián)元素不能包含塊級元素,它只能包含其它內(nèi)聯(lián)元素。

p標簽不能包含塊級標簽,p標簽也不能包含p標簽。

標簽支持嵌套

    1. 塊級標簽可以包含內(nèi)聯(lián)標簽
    2. p標簽不能包含p標簽和div標簽

img標簽

<img src="圖片的路徑" alt="圖片未加載成功時的提示" title="鼠標懸浮時提示信息" width="寬" height="高(寬高兩個屬性只用一個會自動等比縮放)">

a標簽:超鏈接標簽

從一個網(wǎng)頁指向一個目標的連接關(guān)系,這個目標可以是另一個網(wǎng)頁,也可以是相同網(wǎng)頁上的不同位置,還可以是一個圖片,一個電子郵件地址,一個文件,甚至是一個應用程序。

<a  target="_blank" >點我</a>

href屬性指定目標網(wǎng)頁地址。該地址可以有幾種類型:

1.絕對URL - 指向另一個站點(比如 href="http://www.jd.com

<a  target="_blank" >點我</a>

2.相對URL - 指當前站點中確切的路徑(href="index.htm")
3.錨URL - 指向頁面中的錨(href="#top")

<a href="#p1">點我</a>


<div style="height: 1000px"></div>
<p id="p1">大海啊,全是水。</p>
<div style="height: 1000px"></div>

target:

_blank表示在新標簽頁中打開目標網(wǎng)頁
_self表示在當前標簽頁中打開目標網(wǎng)頁
列表

1.無序列表

type屬性:

disc(實心圓點,默認值)
circle(空心圓圈)
square(實心方塊)
none(無樣式)

代碼

<ul type="disc">
  <li>第一項</li>
  <li>第二項</li>
</ul>

2.有序列表
type屬性:

1 數(shù)字列表,默認值
A 大寫字母
a 小寫字母
Ⅰ大寫羅馬
ⅰ小寫羅馬
start:從哪個位置開始,默認從第一個

代碼

<ol type="1" start="2">
  <li>第一項</li>
  <li>第二項</li>
</ol>

3.標題列表
dt:標題
dd:內(nèi)容-縮進

<dl>
  <dt>標題1</dt>
  <dd>內(nèi)容1</dd>
  <dt>標題2</dt>
  <dd>內(nèi)容1</dd>
  <dd>內(nèi)容2</dd>
</dl>
表格

表格最重要的目的是顯示表格類數(shù)據(jù)。表格類數(shù)據(jù)是指最適合組織為表格格式(即按行和列組織)的數(shù)據(jù)。

屬性:

border: 表格邊框.
cellpadding: 內(nèi)邊距
cellspacing: 外邊距.
width: 像素 百分比.(最好通過css來設(shè)置長寬)
rowspan: 單元格豎跨多少行
colspan: 單元格橫跨多少列(即合并單元格)

代碼

<body>

<table border="1" cellpadding="10" cellspacing="5">
    <thead>
        <tr>
            <th>序號</th>
            <th>姓名</th>
            <th>愛好</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td colspan="2">金老板</td>

        </tr>
        <tr>
            <td>2</td>
            <td>景女神</td>
            <td rowspan="2">喝茶</td>
        </tr>
        <tr>
            <td>3</td>
            <td>娜扎</td>

        </tr>
    </tbody>
</table>
</body>

form標簽

1. 展示給用戶看的標簽
2. 獲取用戶輸入的標簽
        form標簽(表單標簽)
        
3.表單還可以包含textarea、select、fieldset和 label標簽。

表單屬性

accept-charset  規(guī)定在被提交表單中使用的字符集(默認:頁面字符集)。
action  規(guī)定向何處提交表單的地址(URL)(提交頁面)。
autocomplete    規(guī)定瀏覽器應該自動完成表單(默認:開啟)。
enctype 規(guī)定被提交數(shù)據(jù)的編碼(默認:url-encoded)。
method  規(guī)定在提交表單時所用的 HTTP 方法(默認:GET)。
name    規(guī)定識別表單的名稱(對于 DOM 使用:document.forms.name)。
novalidate  規(guī)定瀏覽器不驗證表單。
target  規(guī)定 action 屬性中地址的目標(默認:_self)。

input

    1. 根據(jù)type類型劃分
        1. text
        2. password
        3. email
        4. date

        5. radio      --> 單選
        6. checkbox   --> 多選

        7. button     --> 普通按鈕,多用于使用JS代碼綁定事件
        8. submit     --> 提交
        9. reset      --> 重置    

        10. file      --> 上傳文件

屬性說明:

name:表單提交時的“鍵”,注意和id的區(qū)別
value:表單提交時對應項的值
type="button", "reset", "submit"時,為按鈕上顯示的文本年內(nèi)容
type="text","password","hidden"時,為輸入框的初始值
type="checkbox", "radio", "file",為輸入相關(guān)聯(lián)的值
checked:radio和checkbox默認被選中的項
readonly:text和password設(shè)置只讀
disabled:所有input均適用

select標簽

1. select標簽內(nèi)部包含的是option,需要配置value屬性
    默認選中:selected="selected"
2. 多選
    multiple

屬性說明:

multiple:布爾屬性,設(shè)置后為多選,否則默認單選
disabled:禁用
selected:默認選中該項
value:定義提交時的選項值

代碼

<form action="" method="post">
  <select name="city" id="city">
    <option value="1">北京</option>
    <option selected="selected" value="2">上海</option>
    <option value="3">廣州</option>
    <option value="4">深圳</option>
  </select>
</form>

label標簽
定義:<label> 標簽為 input 元素定義標注(標記)。
1.label 元素不會向用戶呈現(xiàn)任何特殊效果。
2.<label> 標簽的 for 屬性值應當與相關(guān)元素的 id 屬性值相同

代碼

<form action="">
  <label for="username">用戶名</label>
  <input type="text" id="username" name="username">
</form>

textarea多行文本

屬性說明:

name:名稱
rows:行數(shù)
cols:列數(shù)
disabled:禁用

代碼

    <textarea name="memo" id="memo" cols="30" rows="10">
    默認內(nèi)容
    </textarea>

總代碼:

    <!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<form action="http://127.0.0.1:8080" method="post" enctype="multipart/form-data">
    <p>
        <label for="i1">用戶名:</label>
      <input id="i1" type="text" name="username">
    </p>
    <p>
        <label>密碼:
            <input type="password" name="pwd">
        </label>
    </p>
    <p>
        郵箱:
        <input disabled type="email" name="email">
    </p>
    <p>出生日期:
        <input type="date" name="birthday">
    </p>
    <p>
        頭像:
        <input type="file" name="avatar">
    </p>
    <p>
        隱藏的輸入框:
        <input type="hidden">
    </p>
    <p>性別:
        <input type="radio" name="gender" value="male" checked>男
        <input type="radio" name="gender" value="female">女
    </p>
    <p>
        愛好:
        <input type="checkbox" name="hobby" value="basketball">籃球
        <input type="checkbox" name="hobby" value="football">足球
        <input type="checkbox" name="hobby" value="doublecolorball">雙色球
    </p>
    <label for="s1">城市</label>
    <select id="s1" name="city1">
        <option value="010">北京</option>
        <option value="021">上海</option>
        <option value="020">廣州</option>
        <option value="0755" selected="selected">深圳</option>
    </select>
     <select name="city2" multiple="multiple">
            <option value="010">北京</option>
        <option value="021">上海</option>
        <option value="020">廣州</option>
        <option value="0755" selected="selected">深圳</option>
    </select>
    <p>
        個人簡介:
        <textarea name="info"  cols="60" rows="40">

        </textarea>
    </p>

    
    <input type="button" value="按鈕">
    <input type="submit" value="提交">
    <input type="reset" value="重置">
</form>

{"name屬性的值": 用戶填寫的內(nèi)容}

</body>
</html>

注意事項:

1. 所有放在form標簽中獲取用戶輸入的標簽,必須要有name屬性
2. form標簽有action屬性和method屬性
        1. action:控制往哪里提交數(shù)據(jù)
        2. method:控制用什么方式提交
        3. 上傳文件需要額外配置enctype="multipart/form-data"
3. form要提交數(shù)據(jù)必須要有submit按鈕    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 14,096評論 1 92
  • 前言 本系列文章主要是基于W3school這個學習網(wǎng)站來總結(jié)的,之所以會自己總結(jié)一番,一來是因為網(wǎng)站中的實例效果,...
    碼字與律動閱讀 4,288評論 4 70
  • HTML標簽解釋大全 一、HTML標記 標簽:!DOCTYPE 說明:指定了 HTML 文檔遵循的文檔類型定義(D...
    米塔塔閱讀 3,520評論 1 41
  • 0.B/S結(jié)構(gòu) 瀏覽器服務器模式,web瀏覽器是客戶端最主要的應用軟件.將客戶端使用web進行統(tǒng)一,系統(tǒng)功能實現(xiàn)集...
    liusong007閱讀 1,144評論 0 1
  • 學習HTML的最佳網(wǎng)站沒有之一http://www.w3school.com.cn/html/ 關(guān)于HTML/HT...
    Amyyy_閱讀 2,365評論 0 16

友情鏈接更多精彩內(nèi)容