web开发的本质

 

1.浏览器上输入一个网址回车后都发生了什么?

  (1)浏览器相当于一个客户端,将域名翻译成ip,浏览器给服务端发送一个消息。

  (2)服务端拿到消息

  (3)服务端返回消息

  (4)浏览器展示页面

 

2.客户端和服务端的消息格式是约定好的

浏览器这个客户端和我们写的server想要实现通信,同样的需要走一个协议,这个规约就是HTTP协议

 

3.HTTP

  浏览器和服务器之间约定好的消息格式通信协议

4.web本质示例

(1)手写的server端

# web本质 示例

import socket

sk = socket.socket()
sk.bind(('127.0.0.1', 8000))

sk.listen(5)

while 1:
    conn, addr = sk.accept()
    conn.recv(1024)
    conn.send(b'HTTP/1.1 200 OK\r\n\r\n') # 按照http协议的格式发送消息
    # conn.send(b'hello world!')  # 发送到浏览器客户端的内容
    # conn.send(b'<h1>hello world!</h1>')  # 发送到浏览器客户端的内容
    #conn.send(b'HTTP/1.1 200 OK\r\n\r\nhello world!') # 按照http协议的格式发送消息
    # 从文件读取
    with open('data.html', 'rb') as f:
        msg = f.read()
    conn.send(msg)  # 发送到浏览器客户端的内容
    conn.close()

(2)data.html内容为

<h1>hello world!</h1>

(3)可以用浏览器访问服务端的ip地址,服务端按照http通信的规则返回一个html给浏览器,浏览器就展示出来了这个html的内容

(4)同时,我们写好一个html后,也可以直接用浏览器打开。

 

5.web本质

  服务端

  客户端浏览器

  HTML文件

  Django这种web框架,就是怎么去返回不同的html

posted @ 2018-11-11 19:24  _小溢  阅读(361)  评论(0)    收藏  举报