1.前端之HTTP协议

  •  HTTP协议概念,HTTP四大特性
  • 浏览器对服务器请求格式,服务器对浏览器响应格式
  • 浏览器访问py服务器案例
1.HTTP协议基本概念:
    超文本传输协议 用来规定服务端和浏览器之间的数据交互的格式
    要用浏览器当客户端时就要遵守http协议

2.HTTP四大特性
    (1)基于请求响应
    (2)基于7CP/IP作用于应用层之上的协议
    (3)无状态即不保存用户的信息
    (4)无/短链接
        请求来一次响应一次之后两端就没有任何链接和关系了
        长链接:双方建立连接之后默认不断开   websocket

3.浏览器http请求数据格式
    (1)请求首行(标识HTTP协议版本,和当前请求方式)
    (2)请求头(一大堆k,v键值对)
    (3)\r\n
    (4)请求体(并不是所有的请求方式都有get没有post有 存放的是post请求提交的敏感数据)

4.服务器http响应数据格式
    (1)响应首行(标识HTTP协议版本,响应状态码)
    (2)响应头(一大堆k,v键值对)
    (3)\r\n
    (4)响应体(返回给浏览器展示给用户看的数据)

5.浏览器http请求方式(两种)
    (1)get请求:朝服务端要数据
    (2)post请求:朝服务端提交数据

6.服务器http响应状态码
    用一串简单的数字来表示一些复杂的状态或者描述性信息
    (1)1xx:服务端已经成功接收到了你的数据正在处理,可以继续提交额外的数据
    (2)2xx:服务端成功响应了你想要的数据(200 OK请求成功)
    (3)3xx:重定向(当你在访问一个需要登陆之后才能看的页面 会发现会自动跳转到登陆页面)
    (4)4xx:请求错误
            404:请求资源不存在
            403:当前请求不合法或者不符合访问资源的条件
    (5)5xx:服务器内部错误(500)

7.补充:ur1:统一资源定位符即网址


8.通过浏览器访问py服务器:
import socket
server = socket.socket()
server.bind(('127.0.0.1', 8080))
server.listen(5)

while True:
    conn, addr = server.accept()
    data = conn.recv(1024)
    print(data)     # 二进制数据,bytes类型
    conn.send(b'HTTP/1.1 200 ok\r\n\r\n')       # HTTP响应格式:http版本,状态码,\r\n,响应体\r\n
    conn.send(b'hello hr')                      # 发送数据,这可以将数据进行美化等等,即用前端写
    conn.close()

9.补充浏览器通过HTTP协议向py.服务器请求格式:
    请求首行:
    b'GET / HTTP/1.1\r\n

    请求头:
    Host: 127.0.0.1:8080\r\n
    Connection: keep-alive\r\n
    sec-ch-ua: "Google Chrome";v="95", "Chromium";v="95",";Not A Brand";v="99"\r\n
    sec-ch-ua-mobile: ?0\r\n
    sec-ch-ua-platform: "Windows"\r\n
    Upgrade-Insecure-Requests: 1\r\n
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36\r\n
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\n
    Sec-Fetch-Site: none\r\n
    Sec-Fetch-Mode: navigate\r\n
    Sec-Fetch-User: ?1\r\n
    Sec-Fetch-Dest: document\r\n
    Accept-Encoding: gzip, deflate, br\r\n
    Accept-Language: zh-CN,zh;q=0.9\r\n

    \r\n

    请求体'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值