您的位置:首页 > Web前端 > HTML

学习目标day5-2(静态服务器-html)

2019-09-24 08:32 1141 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/itheimaliu/article/details/101262661

学习目标

1.能够知道HTTP协议的作用

浏览器与web服务器通信的协议

2.能够知道URL的组成部分

http://www.itheima.com:80/special/pythonzly/jyqj.html
协议名 ://主机名 :端口/请求资源路径?请求参数

3.能够使用谷歌浏览器的开发者工具查看HTTP协议的通信过程

f12--> network--> 选择某个请求资源-->查看请求和响应信息

4.能够知道HTTP请求报文的结构

GET /special/pythonzly/index.shtml HTTP/1.1 #请求行
Host: www.itheima.com #请求头
Connection: keep-alive
#空行,请求头与请求体的分隔符
account=12&pwd=34&age=20# 请求体

1. 请求行 [请求方式  请求路径  协议版本\r\n]
2. 请求头 [头名称: 头值\r\n]
3. 空行 [请求头与请求体的分割线 \r\n]
4.请求体  [只有post方式有请求体]

5.能够知道HTTP响应报文的结构

HTTP/1.1 200 OK #响应行
Server: Tengine # 响应头
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
#空行 响应头与响应体的分隔符
#响应体: 【响应的具体内容】

1. 响应行
2. 响应头
3. 空行(响应头与响应体的分隔符)
4. 响应体

6.能够知道web服务器发送响应报文的格式

response_line = 'HTTP/1.1 200 OK\r\n'
response_headers = "Server: itheima\r\n"
response_headers += 'major: python\r\n'
response_body='welcome'

# 拼接http响应报文格式数据
response_data = response_line + response_headers + '\r\n' + response_body

# 发送http响应报文数据给浏览器客户端
new_sock.send(response_data.encode('utf-8'))

7.能够写出面向对象方式的多任务web服务器程序

class HttpServer(object):
def startup(self):
"""开始执行的方法"""

def h
3ff7
andle_client_request(self,new_sock):
"""专门处理客户端的请求
:param: new_sock:与客户端对接通信的socket
"""
if __name__ == '__main__':
# 创建实例对象
web_server = HttpServer()
web_server.startup()

8.能够写出获取终端命令行参数动态绑定端口号的web服务器程序

# 运行命令: python3 web.py 9999
def main():
print(sys.argv)  # ['web.py','9999']
port = int(sys.argv[1])  # 把字符串转为整数
# 创建实例对象
web_server = HttpServer(port)
web_server.startup()

class HttpServer(object):
def __init__(self, port):
server_sc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_sc.bind(('', port))  # 动态绑定端口

9. 能够知道html的基本结构

<!-- 文档类型声明: html5.0类型 -->
<!DOCTYPE html>
<!-- html文档整体 -->
<html >
<!-- 文档的头部 -->
<head>
<!-- 表示编码方式, 字符集 -->
<meta charset="UTF-8">
<!-- 文档的标题 -->
<title>python开发</title>
</head>
<!-- 文档的主体 -->
<body>
<!-- 文档的具体内容: 给用户看的 -->
你好 fsgdsfgasdgadsg
</body>
</html>

10.能够知道单标签和双标签的区别

双标签  : <标签的名字></标签的名字>
带范围的是双标签,这种标签允许嵌套和承载内容
<h1>你好吗</h1>
<div> div div </div>
单标签 : <标记的名字>
不带范围的标签是单标签 ,这种标签不包含内容
<br>、<hr>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐