码迷,mamicode.com
首页 > Web开发 > 详细

web开发的本质

时间:2018-11-11 20:11:01      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:recv   分享图片   格式   文件读取   客户   import   服务器   .so   http协议   

 

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(bHTTP/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

web开发的本质

标签:recv   分享图片   格式   文件读取   客户   import   服务器   .so   http协议   

原文地址:https://www.cnblogs.com/whylinux/p/9943079.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!