本文介绍: HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web服务器本地浏览器之间传输文本的传送协议。HTTP是一个属于应用层的面向对象协议,由于其简捷、快速方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。HTTP协议工作客户端服务端架构为上。浏览器作为HTTP客户通过URL向HTTP服务端即WEB服务器发送所有请求

1.Web应用

1.1Web应用程序的优点

1.2Web应用程序的缺点

1.3B/S架构的优点

浏览器/服务器架构(Browser/Server,简称B/S)能够很好地应用在广域网上成为越来越多的企业选择。浏览器/服务器架构相对于其他几种应用程序体系结构,有如下3方面的优点:

总结一下,本质上:浏览器是一个socket客户端,服务器是一个socket服务端

import socket

def server_run():
    soc = socket.socket()
    soc.bind(('127.0.0.1', 8008))
    soc.listen(5)
    while True:
        conn, addr = soc.accept()
        recv_data = conn.recv(1024)
        print(recv_data)
        # 1 直接在send里写,发送给客户端  http响应格式
        # conn.send(b'HTTP/1.1 200 OKrnrn<h1&gt;hello web</h1&gt;<img src="https://img2.woyaogexing.com/2022/12/24/a22973058eab2aafa11248a8b6031f5e.jpg"&gt;</img&gt;')
        #2 打开一个html文件发送给客户端
        # with open('index.html','r',encoding='utf-8') as f:
        #     data=f.read()
        # conn.send(('HTTP/1.1 200 OKrnrn%s'%data).encode('utf-8'))
        # 3 动态网页字符串替换
        import time
        now=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        print(now)
        with open('index.html','r',encoding='utf-8') as f:
            data=f.read()
        data=data.replace('@@',now)
        conn.send(('HTTP/1.1 200 OKrnrn%s'%data).encode('utf-8'))
        conn.close()

if __name__ == '__main__':
    server_run()

2. http协议

2.1http协议简介

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web )服务器与本地浏览器之间传输超文本的传送协议。

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到请求后,向客户端发送响应信息。

2.2http的作用

服务器与本地浏览器之间传输超文本的传送协议

2.3http协议的特点

1.基于TCP协议之上的应用层协议(可是可靠传输)

2.基于请求-响应模式:必须是客户端主动发起服务器才能有响应

3.无状态保存

4.无连接客户端不会一直跟服务端链接

2.4http请求协议与响应协议

请求协议
        -请求首行—》请求方式–》请求地址–》请求协议版本号 1.1  rn
        -请求头:keyvalue形式 rn   rnrn
        -请求体:get请求一般没有请求体,post请求有请求体
        
    –响应协议 
        –响应首行:HTTP/1.1 200 OKrn   –协议版本响应状态码–》响应描述符
        -响应头:响应头有什么
        -响应体:一般给个html标签
            浏览器中看到页面,都是响应体的内容
    

原文地址:https://blog.csdn.net/m0_65470895/article/details/134651892

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_17887.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注