zoukankan      html  css  js  c++  java
  • HTTP协议(一)

    http协议

    协议:是一种规则或者规定
    tcp/ip协议:规则了tcp客户端与tcp服务器数据的通讯格式
    1.知识点是什么:http协议
    2.知识点有什么:规定浏览器与服务器(tcp服务器)之间的数据通讯格式
    3.请求的协议格式<客户端(浏览器)发数据给服务器>
    GET /index.html HTTP/1.1 GET:请求的方式     /index.html:地址    HTTP/1.1:协议版本
    4.响应<服务器发数据给客户端>
    

      

    【tcp-服务器接收客户端请求之后发送数据】
      #响应的格式
        #1.响应头 #2.空行 #3.响应体   # 1.响应头 "HTTP1.1P 版本", 200 ok:这个是状态   header = "HTTP/1.1 200 OK " #200这个是状态   header += "Content-type:text/html;charset=utf-8 " #解析中文   header += "Content-Length: 5 " #告诉浏览器显示多少个字符   # 2.响应体   body = "python10可"   content = header + " " + body   # 返回数据显示在网页上面   client.send(content.encode("utf-8")) 注:如果存在返回图片数据,则需要返回两次,先返回文字编码,再返回二进制图片数据

      

    http中的浏览器跟服务器

    1.他们使用tcp套接字实现的
    

     

     http流程

    响应头格式

    HTTP/1.1 状态 
    

    响应的格式

    响应头 http/1.1 200 ok 
    
    content-type:text/html;charset = utf-8;
     #显示中文
    Content-Length: 10749显示内容的长度
    空行 
    
    响应体(返回数据的内容)

    请求头的作用

    告诉服务器我们请求地址
    #根据不同的地址返回不同的网页内容
    #拿到第一行
    heads = data.splitlines()
    #GET / HTTP/1.1:响应头原格式
    heads_01 = heads[0]
    #得到地址
    match = re.match(r'[^/]+(/[^ ]*)', heads_01)
    #用正则的group得到地址
    file_name = match.group(1)

    响应的作用

    控制浏览器的显示

    状态

    200 ok 成功了
    404 not found 页面不存在
    302 found 跳转
    304 没有权限
    500 服务器挂了
    

      

     
  • 相关阅读:
    Ubuntu 18.04 LTS 启用BBR
    MySQL with JDBC <一>
    HTML 实录 <一>
    Nginx CloudFlare 客户端真实IP
    Ubuntu 16.04 释放升级到 18.04 后, man: command exited with status 4
    JSP 从入门到精通 <一>
    Nginx URL重写
    JavaScript 修改 CSS 伪类属性
    i-83.net quadhost子产品
    HTML 重定向 页面跳转
  • 原文地址:https://www.cnblogs.com/qingchang/p/9064195.html
Copyright © 2011-2022 走看看