• Http协议


    一 HTTP概述

    特点:

    1. HTTP叫超文本传输协议,基于请求/响应模式的!
    2. HTTP是无状态,FTP有状态

    二、请求协议

    请求格式如下:

    • 请求首行   // 请求方式 请求路径 协议和版本,例如:GET /index.html HTTP/1.1
    • 请求头信息  // 请求头名称:请求头内容,即为key:value格式, 例如:Host:localhost
    • 空行               // 用来与请求体分隔开
    • 请求体           // GET没有请求体,只有POST有请求体

    2.1 GET请求

    HTTP默认的请求方法就是GET

    • 没有请求体
    • 数据必须在1k之内
    • GET请求数据会暴露在浏览器的地址栏中

    GET请求常用操作:

    1. 在浏览器的地址栏中直接给出URL,那么就一定是GET请求
    2. 点击页面上的超链接也一定是GET请求
    3. 提交表单时,表单m默认使用GET请求,但可以设置POST

    2.2 POST请求

    (1)数据不会出现在地址栏中

    (2)数据的大小没有上限

    (3)有请求体

    (4)请求体中如果存在中文,会使用URL编码

    三、 响应协议

    响应格式如下:

    1、响应首行

    2、响应头信息

    3、空行

    4、响应体

    3.1 响应内容

    • HTTP/1.1 200 OK:响应协议为HTTP1.1,状态码为200,表示请求成功, OK是对状态码的解释
    • Server:WSGIServer/0.2 CPython/3.5.2:服务器的版本信息
    • Content-Type:text/html;charset =UTF-8:响应体使用的编码是UTF-8
    • Content-Length:724:响应体为724字节
    • Set-Cookie:JSESSIONID=C97E2B4C55553EAB46079A4F263435A4;Path=/hello:响应给客户端的Cookie
    • Date:Wed,25 Sep 2012 04:15:03 GMT:响应的时间,这可能会有8小时的时区差

    3.2 状态码

    • 200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;
    • 404:请求的资源没有找到,说明客户端错误的请求了不存在的资源
    • 500:请求资源找到了,但服务器内部出现了错误
    • 302:重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新请求的URL地址
  • 相关阅读:
    vagrantfile 示例
    服务器raid查看
    redis 使用记录
    golang 典型并发任务
    percona-server-mongodb 通用二进制下载
    命令之iperf-服务器之间网络测速
    用awk在命令行处理分析日志
    python是解释型还是编译型
    使用github action发布python包到Pypi
    算法图解学习系列--第6章--广度优先搜索算法BFS
  • 原文地址:https://www.cnblogs.com/renshaoqi/p/10440380.html
Copyright © 2020-2023  润新知