• 1、套接字服务端及HTTP协议


    1、套接字服务端

    1、浏览器朝服务端发送请求

    2、服务端接收请求

    3、服务端返回相应的响应

    4、浏览器接收响应 根据特定的规则渲染页面展示给用户看

    如何做到浏览器能够跟多个不同客户端之间进行数据交互

    1、浏览器很牛逼 能够自动识别不同服务端做不同处理
    2、制定一个统一标准 HTTP协议----超文本传输协议
        规定服务器和浏览器之间的数据交互格式
    
    import socket
    
    server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    server.bind(('127.0.0.1',8080))
    server.listen(5)
    
    while True:
        conn,addr = server.accept()
        data = conn.recv(1024)
        print(data)  # 二进制数据 bytes类型
        # 构造出符合HTTP协议格式的数据  无需掌握
        conn.send(b'HTTP/1.1 200 OK
    
    ')
        # conn.send('好好学习、天天向上'.encode('gbk'))
        with open('第一个HTML文件.html','rb') as f:
            conn.send(f.read())
        conn.close()
    

    2、HTTP超文本传输协议

    HTTP 超文本传输协议---

    四大特性;******

    1、基于请求响应
    2、基于TCP/IP 作用于应用层之上的协议
    3、无状态
        不保存用户登录等信息
        eg:python虐我千百遍 我待python如初见
        由于 HTTP 协议是无状态的所以出现了一些专门用来记录状态的
        cookie、session、token....
    4、无/短链接
        请求来一次我响应一次 之后旧没有任何链接关系了
            补丁: 长链接----双方建立连接之后默认不断开-websocket
    

    请求数据格式

    请求首行(标识HTTP协议版本,当前请求方式)
    请求头(一大堆K,V键值对)
    
           # 这里的
    不能省略
    请求体(并不是所有的请求方式都有 get没有 post有 存放的是post请求提交的敏感数据)
    

    响应数据格式

    响应首行(标识HTTP协议版本,响应状态码)
    响应头(一大堆K,V键值对)
    
    响应体(返回浏览器展示给用户看的数据)
    

    响应状态码

    用一串简单的数字来表示一些复杂的状态或者描述性信息 404:请求资源不存在
    1XX:服务端已经成功的接收到了你的数据,你可以继续提交额外的数据
    2XX:服务端成功的响应了你想要的数据(200 OK请求成功)
    3XX:重定相(访问例如需要登录才能看到的页面,会自动跳转到登录页面)
    4XX:请求错误
        404:请求资源不存在
        403:当前请求不合法或者不符合访问资源条件
    5XX:服务器内部错误(500 机房爆炸等)
    

    请求方式 requset

    1、get请求
        朝服务端要数据
        eg:输入网址获取对应的内容
    2、post请求
        朝服务端提交数据
        eg:用户登录 输入用户名和密码之后 提交到服务端做身份校验
    

    url: 统一资源定位符(网址)

  • 相关阅读:
    ASP.NET中级学习3
    C#面向对象学习笔记
    Javascript学习笔记
    FormView控件使用
    ASP.NET初级学习
    ListView控件是使用
    Java NIO 学习笔记一
    堆栈和托管堆 c#
    安装php7.2并且整合nginx且分开部署
    Python 安装requests和MySQLdb
  • 原文地址:https://www.cnblogs.com/liuyang521/p/14481939.html
Copyright © 2020-2023  润新知