1、WEB基础
1、web访问原理
- 客户端对服务端进行请求,通过HTTP协议(超文本传输协议)
- 服务端接受请求(反馈到数据库要请求的内容(数据))
- 服务端返回响应(服务端把请求的数据,通过HTML文件的响应给客户端)
- 服务端将HTML内容发送给客户端浏览器
- 浏览器渲染页面,就是我们看到的内容
2、浏览器
浏览器 | 内核 |
---|---|
IE | trident |
chrome | blink |
firefox | gecko |
Safari | webkit |
通过不同的浏览器,也就是渲染引擎,即便是相同的代码,在不同的浏览器上显示的内容也可能不一样,网页的内容以及格式信息由浏览器的内核决定
渲染引擎是兼容性问题出现的根本原因
3、示例
1.写入以下代码,进行测试
import socket
server=socket.socket()
server.bind(('127.0.0.1',80))
server.listen()
while 1:
conn,addr=server.accept()
frpm_browser_msf=conn.recv(1024).decode('utf-8')
print(frpm_browser_msf)
conn.send(b'hello')#这样不一定能够成功,因为是以一定的格式进行相应,不成功用下面两行的
#conn.send(b'HTTP/1.1 200 ok\r\n\r\n')
#conn.send(b'<h1>hello</h1>')
#放到html文件中进行返回的就是html页面
conn.close()
2.浏览器进行访问
3.浏览器访问之后,服务端会收到请求的数据
2、html基础
超文本标记语言(Hypertext Markup Language, HTML)是一种用于创建网页的标记语言
HTML5是HTML最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定
- w3c:万维网联盟组织,用来制定web标准的机构(组织)
- web标准:制作网页遵循的规范
在符合标准的网页设计中,CSS 与 HTML、JavaScript 并列称为网页前端设计的 3 种基本语言
- HTML 负责构建网页的基本结构
- CSS 负责设计网页的表现效果,进行修饰,美化
- JavaScript 负责开发网页的交互效果,具有动态效果,简称JS
- JQuery,JS的封装
- bootstarp,对上面所有内容的封装
3、html基本结构
1、结构
使用IED编辑器创建html,自动会把整体结构创建出来
<!DOCTYPE html>
<!--声明为这是一个HTML5 文档 -->
<html lang="en">
<!--声明主要语言,en是英文,zh-CH是中文 -->
<!--html标签是根元素,所有的内容都在这里面 -->
<head>
<meta charset="UTF-8">
<!--<meta charset="utf-8">定义网页编码格式为 utf-8 -->
<title>Title</title>
<!--<title>网页标题,在浏览器标题栏进行显示 -->
<!--head标签包含了文档的元(meta)数据,内容不会在浏览器的文档窗口显示,是用来给浏览器看的,浏览器根据head中标签的内容进行渲染,如 <meta charset="utf-8"> 定义网页编码格式为 utf-8 -->
</head>
<body>
<h1>你好,我是标题</h1>
<!--<body>中存放浏览器显示的内容,就是我们在浏览器上打开网页看到的内容 -->
</body>
</html>
lang
lang | 地区 |
---|---|
zh-CN | 中文简体 |
zh-HK | 繁体,中国香港 |
zh-MO | 繁体,中国澳门 |
zh-TW | 繁体,中国台湾 |
zh-SG | 中文简体,新加坡 |
python简易连接web页面
python去读取html文件,将文件进行回复
1.html内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我是title标题</title>
</head>
<body>
<h1>你好,我是h1标题</h1>
</body>
</html>
2.python读取
import socket
server=socket.socket()
server.bind(('127.0.0.1',80))
server.listen()
while 1:
conn,addr=server.accept()
frpm_browser_msf=conn.recv(1024).decode('utf-8')
print(frpm_browser_msf)
conn.send(b'HTTP/1.1 200ok\r\n\r\n')
with open('html.html',mode='rb') as f:
html=f.read()
conn.send(html)
conn.close()
3.浏览器查看
4.pycharmIDE编辑器中右侧可以直接用自带的socket终端查看
2、标签
标签必须是封闭的,标签由自封闭的和半封闭的
半封闭:成对出现的,如<div></div>,第一个标签是开始,第二个是结束,结束的标签带有斜杠
自封闭:单独出现的标签,如<br>,<hr>等
标签属性:控制标签的显示,高度、宽度、颜色等,标签可以没有属性(就是不写)
标签语法:
<标签名 属性1=“属性值1” 属性2=“属性值2”…>内容部分</标签名>
<标签名 属性1=“属性值1” 属性2=“属性值2”…>