前端简介

1. 三把利器

 A:HTML---赤裸裸的人,自身带一些属性,大概20个标签。(其实就是一套规则,一套浏览器认识的规则)

B:开发者需要做的工作:

       --学习HTML规则

    -- 开发后台程序

             1. 写HTML文件;(充当模板的作用)以后用replace替换,就可以开发成千上万的网页。

     2.数据库获取数据,然后替换到HTML文件的指定位置,开发成千上万的网页。(用web框架就可以完成)

C:本地测试

  -找到本地文件路径,直接浏览器打开即可。

  -借助于pycharm打开测试

D:编写HTML文件  

  -doctype 定义了对应关系

  HTML标签,只能有一个。标签内部可以写属性,

  -注释  <!--   注释的内容  -->

E: 标签分类

  -自闭合标签(无需写结尾) <meta charset='utf-8'>

  -人为主动闭合标签</title>老男孩</title>,大部分都属于这种。 

   

CSS-----给这个人穿上华丽的衣服(颜色,位置) html+css 是写静态网页的基础

JS-------让这个人动起来。

2. http: 一次请求,一次响应,链接断开。一次请求,一次响应,链接断开。

3. localhost 知识扫盲

localhost

n. 本地主机;本地服务器
计算机网络中,localhost意为"本地主机",指"这台计算机",是给回路网络接口(loopback)的一个标准主机名,
相对应的IP地址为127.0.0.1(IPv4)和[::1](IPv6)。
这个名称也是一个保留域名(RFC 2606) ,为了避免同狭义定义主机名混淆而单独列出。
在可用其他方式使用计算机主机名称的地方,可以指定主机为localhost。
例如,将web服务器上安装的web浏览器指向http://localhost,将会显示运行这个浏览器的计算机上所服务的网站的主页,
但是只有当web服务器配置至服务回路接口时才能显示。

4.做一个socket server,用浏览器进行访问。所有外部服务器的根源。

服务器端代码,先启动服务器端:

#socket server
#超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。
#所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法
#'Http/1.1 200 OK'这是Http协议的响应信息。Http/1.1 表示当前协议为Http。1.1是协议的版本。200表示成功, OK不用说了吧。

import socket
def handle_request(client):
    but=client.recv(1024)
    client.send(bytes('Http/1.1 200 OK

',encoding='utf-8'))
    client.send(bytes('Hello Seven',encoding='utf-8'))
def main():
    sock=socket.socket()
    sock.bind(('localhost',8000))
    sock.listen(5)

    while True:
        conn,addr=sock.accept()
        handle_request(conn)
        conn.close()
if __name__=='__main__':
    main()

本机浏览器localhost作为客户端,去链接服务器端。

5.稍加修饰,效果非凡

服务器端:

import socket
def handle_request(client):
    but=client.recv(1024)
    client.send(bytes('Http/1.1 200 OK

',encoding='utf-8'))
    client.send(bytes("<h1 style='background-color:red;'>Hello Seven<h1>",encoding='utf-8'))
def main():
    sock=socket.socket()
    sock.bind(('localhost',8000))
    sock.listen(5)

    while True:
        conn,addr=sock.accept()
        handle_request(conn)
        conn.close()
if __name__=='__main__':
    main()

 客户端效果:

6.谨记

1.服务器端返回的数据永远只是一个字符串。

2.服务器端返回的字符串里面,如果有一大堆格式的话,同时浏览器恰好也认识这些格式的话,浏览器就帮我把它们显示出来了。

把要返回的数据写到一个index文件里面,这样就可以大批量写了。

为了规范,把文件保存成.html结尾的文件。

import socket
def handle_request(client):
    but=client.recv(1024)
    client.send(bytes('Http/1.1 200 OK

',encoding='utf-8'))
    f=open('index','rb')
    data=f.read()
    f.close
    client.send(data)
def main():
    sock=socket.socket()
    sock.bind(('localhost',8000))
    sock.listen(5)

    while True:
        conn,addr=sock.accept()
        handle_request(conn)
        conn.close()
if __name__=='__main__':
    main()

 index文件里面的代码:

<h1 style='background-color:red;'>Hello Eight<h1>

 运行结果:

7.牛刀小试

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Title</title>
</head>
<body>
    <a href="http://www.oldboyedu.com">老男孩</a>
</body>

</html>

 右击代码,用浏览器打开:

原文地址:https://www.cnblogs.com/momo8238/p/7392259.html