github.com/gofiber/fiber/v2@v2.47.0/.github/README_ko.md (about)

     1  <p align="center">
     2    <a href="https://gofiber.io">
     3    
     4    <picture>
     5      <source height="125" media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/gofiber/docs/master/static/img/logo-dark.svg">
     6      <img height="125" alt="Fiber" src="https://raw.githubusercontent.com/gofiber/docs/master/static/img/logo.svg">
     7    </picture>
     8    
     9    </a>
    10    <br>
    11    <!-- base64 flags are available at https://www.phoca.cz/cssflags/ -->
    12     <a href="https://github.com/gofiber/fiber/blob/master/.github/README.md">
    13      <img height="20px" src="https://img.shields.io/badge/EN-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNjAgMzAiIGhlaWdodD0iNjAwIj4NCjxkZWZzPg0KPGNsaXBQYXRoIGlkPSJ0Ij4NCjxwYXRoIGQ9Im0zMCwxNWgzMHYxNXp2MTVoLTMwemgtMzB2LTE1enYtMTVoMzB6Ii8+DQo8L2NsaXBQYXRoPg0KPC9kZWZzPg0KPHBhdGggZmlsbD0iIzAwMjQ3ZCIgZD0ibTAsMHYzMGg2MHYtMzB6Ii8+DQo8cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iNiIgZD0ibTAsMGw2MCwzMG0wLTMwbC02MCwzMCIvPg0KPHBhdGggc3Ryb2tlPSIjY2YxNDJiIiBzdHJva2Utd2lkdGg9IjQiIGQ9Im0wLDBsNjAsMzBtMC0zMGwtNjAsMzAiIGNsaXAtcGF0aD0idXJsKCN0KSIvPg0KPHBhdGggc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjEwIiBkPSJtMzAsMHYzMG0tMzAtMTVoNjAiLz4NCjxwYXRoIHN0cm9rZT0iI2NmMTQyYiIgc3Ryb2tlLXdpZHRoPSI2IiBkPSJtMzAsMHYzMG0tMzAtMTVoNjAiLz4NCjwvc3ZnPg0K">
    14    </a>
    15    <a href="https://github.com/gofiber/fiber/blob/master/.github/README_ru.md">
    16      <img height="20px" src="https://img.shields.io/badge/RU-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NTAgMzAwIj4NCjxwYXRoIGZpbGw9IiNmZmYiIGQ9Im0wLDBoNDUwdjEwMGgtNDUweiIvPg0KPHBhdGggZmlsbD0iIzAwZiIgZD0ibTAsMTAwaDQ1MHYxMDBoLTQ1MHoiLz4NCjxwYXRoIGZpbGw9IiNmMDAiIGQ9Im0wLDIwMGg0NTB2MTAwaC00NTB6Ii8+DQo8L3N2Zz4NCg==">
    17    </a>
    18    <a href="https://github.com/gofiber/fiber/blob/master/.github/README_es.md">
    19      <img height="20px" src="https://img.shields.io/badge/ES-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NTAgNTAwIj4NCjxwYXRoIGZpbGw9IiNjNjBiMWUiIGQ9Im0wLDBoNzUwdjUwMGgtNzUweiIvPg0KPHBhdGggZmlsbD0iI2ZmYzQwMCIgZD0ibTAsMTI1aDc1MHYyNTBoLTc1MHoiLz4NCjwvc3ZnPg0K">
    20    </a>
    21    <a href="https://github.com/gofiber/fiber/blob/master/.github/README_ja.md">
    22      <img height="20px" src="https://img.shields.io/badge/JA-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5MDAgNjAwIj4NCjxwYXRoIGZpbGw9IiNmZmYiIGQ9Im0wLDBoOTAwdjYwMGgtOTAweiIvPg0KPGNpcmNsZSBmaWxsPSIjYmUwMDI2IiBjeD0iNDUwIiBjeT0iMzAwIiByPSIxODAiLz4NCjwvc3ZnPg0K">
    23    </a>
    24    <a href="https://github.com/gofiber/fiber/blob/master/.github/README_pt.md">
    25      <img height="20px" src="https://img.shields.io/badge/PT-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMiA1MTI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHJlY3QgeT0iODUuMzM3IiBzdHlsZT0iZmlsbDojRDgwMDI3OyIgd2lkdGg9IjUxMiIgaGVpZ2h0PSIzNDEuMzI2Ii8+Cjxwb2x5Z29uIHN0eWxlPSJmaWxsOiM2REE1NDQ7IiBwb2ludHM9IjE5Ni42NDEsODUuMzM3IDE5Ni42NDEsMjYxLjU2NSAxOTYuNjQxLDQyNi42NjMgMCw0MjYuNjYzIDAsODUuMzM3ICIvPgo8Y2lyY2xlIHN0eWxlPSJmaWxsOiNGRkRBNDQ7IiBjeD0iMTk2LjY0MSIgY3k9IjI1NiIgcj0iNjQiLz4KPHBhdGggc3R5bGU9ImZpbGw6I0Q4MDAyNzsiIGQ9Ik0xNjAuNjM4LDIyNHY0MC4wMDFjMCwxOS44ODIsMTYuMTE4LDM2LDM2LDM2czM2LTE2LjExOCwzNi0zNlYyMjRIMTYwLjYzOHoiLz4KPHBhdGggc3R5bGU9ImZpbGw6I0YwRjBGMDsiIGQ9Ik0xOTYuNjM4LDI3NmMtNi42MTcsMC0xMi01LjM4My0xMi0xMnYtMTZoMjQuMDAxdjE2QzIwOC42MzgsMjcwLjYxNiwyMDMuMjU0LDI3NiwxOTYuNjM4LDI3NnoiLz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==">
    26    </a>
    27    <a href="https://github.com/gofiber/fiber/blob/master/.github/README_zh-CN.md">
    28      <img height="20px" src="https://img.shields.io/badge/CN-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAwIDgwMCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KPHBhdGggZmlsbD0iI2RlMjkxMCIgZD0ibTAsMGgxMjAwdjgwMGgtMTIwMHoiLz4NCjxwYXRoIGZpbGw9IiNmZmRlMDAiIGQ9Im0tMTYuNTc5Niw5OS42MDA3bDIuMzY4Ni04LjEwMzItNi45NTMtNC43ODgzIDguNDM4Ni0uMjUxNCAyLjQwNTMtOC4wOTI0IDIuODQ2Nyw3Ljk0NzkgOC40Mzk2LS4yMTMxLTYuNjc5Miw1LjE2MzQgMi44MTA2LDcuOTYwNy02Ljk3NDctNC43NTY3LTYuNzAyNSw1LjEzMzF6IiB0cmFuc2Zvcm09Im1hdHJpeCg5LjkzMzUyIC4yNzc0NyAtLjI3NzQ3IDkuOTMzNTIgMzI0LjI5MjUgLTY5NS4yNDE1KSIvPg0KPHBhdGggZmlsbD0iI2ZmZGUwMCIgaWQ9InN0YXIiIGQ9Im0zNjUuODU1MiwzMzIuNjg5NWwyOC4zMDY4LDExLjM3NTcgMTkuNjcyMi0yMy4zMTcxLTIuMDcxNiwzMC40MzY3IDI4LjI1NDksMTEuNTA0LTI5LjU4NzIsNy40MzUyLTIuMjA5NywzMC40MjY5LTE2LjIxNDItMjUuODQxNS0yOS42MjA2LDcuMzAwOSAxOS41NjYyLTIzLjQwNjEtMTYuMDk2OC0yNS45MTQ4eiIvPg0KPGcgZmlsbD0iI2ZmZGUwMCI+DQo8cGF0aCBkPSJtNTE5LjA3NzksMTc5LjMxMjlsLTMwLjA1MzQtNS4yNDE4LTE0LjM5NDUsMjYuODk3Ni00LjMwMTctMzAuMjAyMy0zMC4wMjkzLTUuMzc4MSAyNy4zOTQ4LTEzLjQyNDItNC4xNjQ3LTMwLjIyMTUgMjEuMjMyNiwyMS45MDU3IDI3LjQ1NTQtMTMuMjk5OC0xNC4yNzIzLDI2Ljk2MjcgMjEuMTMzMSwyMi4wMDE3eiIvPg0KPHBhdGggZD0ibTQ1NS4yNTkyLDMxNS45Nzk1bDkuMzczNC0yOS4wMzE0LTI0LjYzMjUtMTcuOTk3OCAzMC41MDctLjA1NjYgOS41MDUtMjguOTg4NiA5LjQ4MSwyOC45OTY0IDMwLjUwNywuMDgxOC0yNC42NDc0LDE3Ljk3NzQgOS4zNDkzLDI5LjAzOTItMjQuNzE0LTE3Ljg4NTgtMjQuNzI4OCwxNy44NjUzeiIvPg0KPC9nPg0KPHVzZSB4bGluazpocmVmPSIjc3RhciIgdHJhbnNmb3JtPSJtYXRyaXgoLjk5ODYzIC4wNTIzNCAtLjA1MjM0IC45OTg2MyAxOS40MDAwNSAtMzAwLjUzNjgxKSIvPg0KPC9zdmc+DQo=">
    29    </a>
    30    <a href="https://github.com/gofiber/fiber/blob/master/.github/README_zh-TW.md">
    31      <img height="20px" src="https://img.shields.io/badge/TW-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjwhRE9DVFlQRSBzdmc+DQo8c3ZnIHdpZHRoPSI5MDAiIGhlaWdodD0iNjAwIiB2aWV3Qm94PSItNjAgLTQwIDI0MCAxNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgPHJlY3QgeD0iLTYwIiB5PSItNDAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiNmZTAwMDAiLz4NCiAgIDxyZWN0IHg9Ii02MCIgeT0iLTQwIiB3aWR0aD0iNTAlIiBoZWlnaHQ9IjUwJSIgZmlsbD0iIzAwMDA5NSIvPg0KICAgPHBhdGggaWQ9ImZvdXJfcmF5cyIgZD0iTSA4LDAgTCAwLDMwIEwgLTgsMCBMIDAsLTMwIE0gMCw4IEwgMzAsMCBMIDAsLTggTCAtMzAsMCIgZmlsbD0iI2ZmZiIvPg0KICAgPHVzZSB4bGluazpocmVmPSIjZm91cl9yYXlzIiB0cmFuc2Zvcm09InJvdGF0ZSgzMCkiLz4NCiAgIDx1c2UgeGxpbms6aHJlZj0iI2ZvdXJfcmF5cyIgdHJhbnNmb3JtPSJyb3RhdGUoNjApIi8+DQogICA8Y2lyY2xlIHI9IjE3IiBmaWxsPSIjMDAwMDk1Ii8+DQogICA8Y2lyY2xlIHI9IjE1IiBmaWxsPSIjZmZmIi8+DQo8L3N2Zz4=">
    32    </a>
    33    <a href="https://github.com/gofiber/fiber/blob/master/.github/README_de.md">
    34      <img height="20px" src="https://img.shields.io/badge/DE-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjYwMCIgdmlld0JveD0iMCAwIDUgMyI+DQo8cGF0aCBkPSJtMCwwaDV2M2gtNXoiLz4NCjxwYXRoIGZpbGw9IiNkMDAiIGQ9Im0wLDFoNXYyaC01eiIvPg0KPHBhdGggZmlsbD0iI2ZmY2UwMCIgZD0ibTAsMmg1djFoLTV6Ii8+DQo8L3N2Zz4NCg==">
    35    </a>
    36    <a href="https://github.com/gofiber/fiber/blob/master/.github/README_nl.md">
    37      <img height="20px" src="https://img.shields.io/badge/NL-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNjAwIiB2aWV3Qm94PSIwIDAgOSA2Ij4NCjxwYXRoIGZpbGw9IiMyMTQ2OGIiIGQ9Im0wLDBoOXY2aC05eiIvPg0KPHBhdGggZmlsbD0iI2ZmZiIgZD0ibTAsMGg5djRoLTl6Ii8+DQo8cGF0aCBmaWxsPSIjYWUxYzI4IiBkPSJtMCwwaDl2MmgtOXoiLz4NCjwvc3ZnPg0K">
    38    </a>
    39    <!-- <a href="https://github.com/gofiber/fiber/blob/master/.github/README_ko.md">
    40      <img height="20px" src="https://img.shields.io/badge/KO-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNjAwIiB2aWV3Qm94PSItMzYgLTI0IDcyIDQ4IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQo8cGF0aCBmaWxsPSIjZmZmIiBkPSJtLTM2LTI0aDcydjQ4aC03MnoiLz4NCjxnIHRyYW5zZm9ybT0ibWF0cml4KC41NTQ3IC0uODMyMDUgLjgzMjA1IC41NTQ3IDAgMCkiPg0KPGcgaWQ9ImIyIj4NCjxwYXRoIHN0cm9rZT0iIzAwMCIgaWQ9ImIiIHN0cm9rZS13aWR0aD0iMiIgZD0iTS02LTI1SDZNLTYtMjJINk0tNi0xOUg2Ii8+DQo8dXNlIHk9IjQ0IiB4bGluazpocmVmPSIjYiIvPg0KPC9nPg0KPHBhdGggc3Ryb2tlPSIjZmZmIiBkPSJtMCwxN3YxMCIvPg0KPGNpcmNsZSBmaWxsPSIjYzYwYzMwIiByPSIxMiIvPg0KPHBhdGggZmlsbD0iIzAwMzQ3OCIgZD0iTTAtMTJBNiw2IDAgMCAwIDAsMEE2LDYgMCAwIDEgMCwxMkExMiwxMiAwIDAsMSAwLTEyWiIvPg0KPC9nPg0KPGcgdHJhbnNmb3JtPSJtYXRyaXgoLS41NTQ3IC0uODMyMDUgLjgzMjA1IC0uNTU0NyAwIDApIj4NCjx1c2UgeGxpbms6aHJlZj0iI2IyIi8+DQo8cGF0aCBzdHJva2U9IiNmZmYiIGQ9Im0wLTIzLjV2M20wLDM3LjV2My41bTAsM3YzIi8+DQo8L2c+DQo8L3N2Zz4NCg==">
    41    </a> -->
    42    <a href="https://github.com/gofiber/fiber/blob/master/.github/README_fr.md">
    43      <img height="20px" src="https://img.shields.io/badge/FR-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5MDAgNjAwIj4NCjxwYXRoIGZpbGw9IiNlZDI5MzkiIGQ9Im0wLDBoOTAwdjYwMGgtOTAweiIvPg0KPHBhdGggZmlsbD0iI2ZmZiIgZD0ibTAsMGg2MDB2NjAwaC02MDB6Ii8+DQo8cGF0aCBmaWxsPSIjMDAyMzk1IiBkPSJtMCwwaDMwMHY2MDBoLTMwMHoiLz4NCjwvc3ZnPg0K">
    44    </a>
    45    <a href="https://github.com/gofiber/fiber/blob/master/.github/README_tr.md">
    46      <img height="20px" src="https://img.shields.io/badge/TR-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjgwMCIgdmlld0JveD0iMCAwIDM2MCAyNDAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCjxwYXRoIGZpbGw9IiNlMzBhMTciIGQ9Im0wLDBoMzYwdjI0MGgtMzYweiIvPg0KPGNpcmNsZSBmaWxsPSIjZmZmIiBjeD0iMTIwIiBjeT0iMTIwIiByPSI2MCIvPg0KPGNpcmNsZSBmaWxsPSIjZTMwYTE3IiBjeD0iMTM1IiBjeT0iMTIwIiByPSI0OCIvPg0KPGcgZmlsbD0iI2ZmZiIgdHJhbnNmb3JtPSJtYXRyaXgoMCAtMzAgMzAgMCAyMDAuNyAxMjApIj4NCjxnIGlkPSJnMiI+DQo8cGF0aCBpZD0iZzEiIGQ9Im0wLDAgMCwxIC41LDB6IiB0cmFuc2Zvcm09Im1hdHJpeCguOTUxMDYgLjMwOTAyIC0uMzA5MDIgLjk1MTA2IDAgLTEpIi8+DQo8dXNlIHhsaW5rOmhyZWY9IiNnMSIgdHJhbnNmb3JtPSJzY2FsZSgtMSAxKSIvPg0KPC9nPg0KPHVzZSB4bGluazpocmVmPSIjZzIiIHRyYW5zZm9ybT0icm90YXRlKDcyKSIvPg0KPHVzZSB4bGluazpocmVmPSIjZzIiIHRyYW5zZm9ybT0ibWF0cml4KC4zMDkwMiAtLjk1MTA2IC45NTEwNiAuMzA5MDIgMCAwKSIvPg0KPHVzZSB4bGluazpocmVmPSIjZzIiIHRyYW5zZm9ybT0icm90YXRlKDE0NCkiLz4NCjx1c2UgeGxpbms6aHJlZj0iI2cyIiB0cmFuc2Zvcm09Im1hdHJpeCgtLjgwOTAyIC0uNTg3NzkgLjU4Nzc5IC0uODA5MDIgMCAwKSIvPg0KPC9nPg0KPC9zdmc+DQo=">
    47    </a>
    48    <a href="https://github.com/gofiber/fiber/blob/master/.github/README_id.md">
    49      <img height="20px" src="https://img.shields.io/badge/ID-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MDAgNDAwIj4NCjxwYXRoIGZpbGw9IiNjZTExMjYiIGQ9Im0wLDBoNjAwdjIwMGgtNjAweiIvPg0KPHBhdGggZmlsbD0iI2ZmZiIgZD0ibTAsMjAwaDYwMHYyMDBoLTYwMHoiLz4NCjwvc3ZnPg0K">
    50    </a>
    51    <a href="https://github.com/gofiber/fiber/blob/master/.github/README_he.md">
    52      <img height="20px" src="https://img.shields.io/badge/HE-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjYwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNDgwIiB2aWV3Qm94PSIwIDAgMjIwIDE2MCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KPGRlZnM+DQo8cGF0aCBzdHJva2U9IiMwMDM4YjgiIGZpbGwtb3BhY2l0eT0iMCIgaWQ9InRyaWFuZ2xlIiBzdHJva2Utd2lkdGg9IjUuNSIgZD0ibTAtMjkuMTQxLTI1LjIzNjksNDMuNzExNSA1MC40NzM4LTB6Ii8+DQo8L2RlZnM+DQo8cGF0aCBmaWxsPSIjZmZmIiBkPSJtMCwwaDIyMHYxNjBoLTIyMHoiLz4NCjxnIGZpbGw9IiMwMDM4YjgiPg0KPHBhdGggZD0ibTAsMTVoMjIwdjI1aC0yMjB6Ii8+DQo8cGF0aCBkPSJtMCwxMjBoMjIwdjI1aC0yMjB6Ii8+DQo8L2c+DQo8dXNlIHhsaW5rOmhyZWY9IiN0cmlhbmdsZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTEwIDgwKSIvPg0KPHVzZSB4bGluazpocmVmPSIjdHJpYW5nbGUiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgLTAgLTEgMTEwIDgwKSIvPg0KPC9zdmc+DQo=">
    53    </a>
    54     <a href="https://github.com/gofiber/fiber/blob/master/.github/README_sa.md">
    55       <img height="20px" src="https://img.shields.io/badge/SA-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjYwMCIgdmlld0JveD0iMCAwIDEyIDYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCjxwYXRoIGZpbGw9IiNjZTExMjYiIGQ9Im0wLDBoM3Y2aC0zeiIvPg0KPHBhdGggZmlsbD0iIzAwOWEwMCIgZD0ibTMsMGg5djJoLTl6Ii8+DQo8cGF0aCBmaWxsPSIjZmZmIiBkPSJtMywyaDl2MmgtOXoiLz4NCjxwYXRoIGQ9Im0zLDRoOXYyaC05eiIvPg0KPC9zdmc+DQo=">
    56     </a>
    57           <a href="https://github.com/gofiber/fiber/blob/master/.github/README_fa.md">
    58       <img height="20px" src="https://img.shields.io/badge/IR-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTAwMCIgaGVpZ2h0PSI1NzIuMiIgdmlld0JveD0iLTcuMjE3IC00LjEyOSAxMDAwIDU3Mi4yIj48cGF0aCBkPSJNLTcuMjE3LTQuMTI5aDEwMDB2NTcyLjJoLTEwMDB6IiBmaWxsPSIjMjM5ZjQwIi8+PHBhdGggZD0iTS03LjIxNyAyODEuOTcxaDEwMDB2Mjg2LjFoLTEwMDB6IiBmaWxsPSIjZGEwMDAwIi8+PHBhdGggZD0iTS03LjIxNyAxODYuNTcxaDEwMDB2MTkwLjc1aC0xMDAweiIgZmlsbD0iI2ZmZiIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03LjIxNyAxNTUuNDcxKSBzY2FsZSg0LjQ0NDUpIj48ZyBpZD0iZSI+PGcgaWQ9ImMiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiI+PHBhdGggaWQ9ImIiIGQ9Ik0zIC41aDEzTTMuNSA1VjIuNWg0djJoNHYtMkg5bS00IDJoMW0xMCAwaC0yLjV2LTJoNG0wLTIuNXY0LjVoNFYwbS0yIDB2NC41Ii8+PHBhdGggaWQ9ImEiIGQ9Ik0zIDdoOW0xIDBoOSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHVzZSB4bGluazpocmVmPSIjYSIgeT0iNDIuOTEzIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIi8+PHVzZSB4bGluazpocmVmPSIjYiIgeT0iNTEuOTEzIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIi8+PC9nPjxnIGlkPSJkIj48dXNlIHhsaW5rOmhyZWY9IiNjIiB4PSIyMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIvPjx1c2UgeGxpbms6aHJlZj0iI2MiIHg9IjQwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIi8+PHVzZSB4bGluazpocmVmPSIjYyIgeD0iNjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiLz48L2c+PC9nPjx1c2UgeGxpbms6aHJlZj0iI2QiIHg9IjYwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIi8+PHVzZSB4bGluazpocmVmPSIjZSIgeD0iMTQwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIi8+PC9nPjxnIHRyYW5zZm9ybT0ibWF0cml4KDY5LjI4NSAwIDAgNjkuMjg1IDQ5Mi43ODMgMjgxLjk3MSkiIGZpbGw9IiNkYTAwMDAiPjxnIGlkPSJmIj48cGF0aCBkPSJNLS41NDguODM2QS45MTIuOTEyIDAgMCAwIC4zMjktLjcyMiAxIDEgMCAwIDEtLjU0OC44MzYiLz48cGF0aCBkPSJNLjYxOC42NjFBLjc2NC43NjQgMCAwIDAgLjQyMi0uNzQgMSAxIDAgMCAxIC42MTguNjYxTTAgMWwtLjA1LTFMMC0uNzg3YS4zMS4zMSAwIDAgMCAuMTE4LjA5OVYtLjFsLS4wNC45OTN6TS0uMDItLjg1TDAtLjgzMWEuMTQ0LjE0NCAwIDAgMCAuMjUyLS4xMzdBLjEzNi4xMzYgMCAwIDEgMC0uOTI1Ii8+PC9nPjx1c2UgeGxpbms6aHJlZj0iI2YiIHRyYW5zZm9ybT0ic2NhbGUoLTEgMSkiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiLz48L2c+PC9zdmc+">
    59     </a>
    60    <a href="https://github.com/gofiber/fiber/blob/master/.github/README_it.md">
    61      <img height="20px" src="https://img.shields.io/badge/IT-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjEwMDAiIHZpZXdCb3g9IjAgMCAzIDIiPg0KPHBhdGggZmlsbD0iIzAwOTI0NiIgZD0ibTAsMGgxdjJoLTF6Ii8+DQo8cGF0aCBmaWxsPSIjZmZmIiBkPSJtMSwwaDF2MmgtMXoiLz4NCjxwYXRoIGZpbGw9IiNjZTJiMzciIGQ9Im0yLDBoMXYyaC0xeiIvPg0KPC9zdmc+DQo=">
    62    </a>
    63    <a href="https://github.com/gofiber/fiber/blob/master/.github/README_uk.md">
    64      <img height="20px" src="https://img.shields.io/badge/UK-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDU1LjIgMzguNCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTUuMiAzOC40IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwhW0NEQVRBWwoJLnN0MHtmaWxsOiNGRkQ1MDA7fQoJLnN0MXtmaWxsOiMwMDVCQkI7fQpdXT48L3N0eWxlPjxnPjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0zLjAzLDBoNDkuMTNjMS42NywwLDMuMDMsMS4zNiwzLjAzLDMuMDN2MzIuMzNjMCwxLjY3LTEuMzcsMy4wMy0zLjAzLDMuMDNIMy4wM0MxLjM3LDM4LjQsMCwzNy4wNCwwLDM1LjM3IFYzLjAzQzAsMS4zNiwxLjM3LDAsMy4wMywwTDMuMDMsMHoiLz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMCwxOS4yaDU1LjJ2MTYuMTdjMCwxLjY3LTEuMzcsMy4wMy0zLjAzLDMuMDNIMy4wM0MxLjM3LDM4LjQsMCwzNy4wNCwwLDM1LjM3VjE5LjJMMCwxOS4yeiIvPjwvZz48L3N2Zz4=">
    65    </a>
    66    <a href="https://github.com/gofiber/fiber/blob/master/.github/README_az.md">
    67      <img height="20px" src="https://img.shields.io/badge/AZ-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTIwMCIgaGVpZ2h0PSI2MDAiPg0KPHJlY3Qgd2lkdGg9IjEyMDAiIGhlaWdodD0iNjAwIiBmaWxsPSIjNTA5ZTJmIi8+DQo8cmVjdCB3aWR0aD0iMTIwMCIgaGVpZ2h0PSI0MDAiIGZpbGw9IiNlZjMzNDAiLz4NCjxyZWN0IHdpZHRoPSIxMjAwIiBoZWlnaHQ9IjIwMCIgZmlsbD0iIzAwYjVlMiIvPg0KPGNpcmNsZSBjeD0iNTcwIiBjeT0iMzAwIiByPSI5MCIgZmlsbD0iI2ZmZiIvPg0KPGNpcmNsZSBjeD0iNTkwIiBjeT0iMzAwIiByPSI3NSIgZmlsbD0iI2VmMzM0MCIvPg0KPHBhdGggZD0iTTY3MCAyNTBsOS41NjcgMjYuOTAzIDI1Ljc4OC0xMi4yNTgtMTIuMjU4IDI1Ljc4OEw3MjAgMzAwbC0yNi45MDMgOS41NjcgMTIuMjU4IDI1Ljc4OC0yNS43ODgtMTIuMjU4TDY3MCAzNTBsLTkuNTY3LTI2LjkwMy0yNS43ODggMTIuMjU4IDEyLjI1OC0yNS43ODhMNjIwIDMwMGwyNi45MDMtOS41NjctMTIuMjU4LTI1Ljc4OCAyNS43ODggMTIuMjU4eiIgZmlsbD0iI2ZmZiIvPg0KPC9zdmc+">
    68    </a>
    69    <br>
    70    <a href="https://pkg.go.dev/github.com/gofiber/fiber/v2#pkg-overview">
    71      <img src="https://img.shields.io/badge/%F0%9F%93%9A%20godoc-pkg-00ACD7.svg?color=00ACD7&style=flat-square">
    72    </a>
    73    <a href="https://goreportcard.com/report/github.com/gofiber/fiber/v2">
    74      <img src="https://img.shields.io/badge/%F0%9F%93%9D%20goreport-A%2B-75C46B?style=flat-square">
    75    </a>
    76    <a href="https://gocover.io/github.com/gofiber/fiber">
    77      <img src="https://img.shields.io/badge/%F0%9F%94%8E%20gocover-97.8%25-75C46B.svg?style=flat-square">
    78    </a>
    79    <a href="https://github.com/gofiber/fiber/actions?query=workflow%3ASecurity">
    80      <img src="https://img.shields.io/github/actions/workflow/status/gofiber/fiber/security.yml?branch=master&label=%F0%9F%94%91%20gosec&style=flat-square&color=75C46B">
    81    </a>
    82    <a href="https://github.com/gofiber/fiber/actions?query=workflow%3ATest">
    83      <img src="https://img.shields.io/github/actions/workflow/status/gofiber/fiber/test.yml?branch=master&label=%F0%9F%A7%AA%20tests&style=flat-square&color=75C46B">
    84    </a>
    85      <a href="https://docs.gofiber.io">
    86      <img src="https://img.shields.io/badge/%F0%9F%92%A1%20fiber-docs-00ACD7.svg?style=flat-square">
    87    </a>
    88    <a href="https://gofiber.io/discord">
    89      <img src="https://img.shields.io/discord/704680098577514527?style=flat-square&label=%F0%9F%92%AC%20discord&color=00ACD7">
    90    </a>
    91  </p>
    92  <p align="center">
    93    <b>Fiber</b>는 <a href="https://github.com/expressjs/express">Express</a>에서 영감을 받고, <a href="https://go.dev/doc/">Go</a>를 위한 <b>가장 빠른</b> HTTP 엔진인 <a ref="https://github.com/valyala/fasthttp">Fasthttp</a>를 토대로 만들어진 <b>웹 프레임워크</b> 입니다. <b>비 메모리 할당</b>과 <b>성능</b>을 고려한 <b>빠른</b> 개발을 위해 <b>손쉽게</b> 사용되도록 설계되었습니다.
    94  </p>
    95  
    96  ## ⚡️ 빠른 시작
    97  
    98  ```go
    99  package main
   100  
   101  import "github.com/gofiber/fiber/v2"
   102  
   103  func main() {
   104      app := fiber.New()
   105  
   106      app.Get("/", func(c *fiber.Ctx) error {
   107          return c.SendString("Hello, World 👋!")
   108      })
   109  
   110      app.Listen(":3000")
   111  }
   112  ```
   113  
   114  ## 🤖 벤치마크
   115  
   116  이 테스트들은 [TechEmpower](https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=plaintext)와 [Go Web](https://github.com/smallnest/go-web-framework-benchmark)을 통해 측정되었습니다. 만약 모든 결과를 보고 싶다면, [Wiki](https://docs.gofiber.io/extra/benchmarks)를 확인해 주세요.
   117  
   118  <p float="left" align="middle">
   119    <img src="https://raw.githubusercontent.com/gofiber/docs/master/static/img/benchmark-pipeline.png" width="49%">
   120    <img src="https://raw.githubusercontent.com/gofiber/docs/master/static/img/benchmark_alloc.png" width="49%">
   121  </p>
   122  
   123  ## ⚙️ 설치
   124  
   125  Go가 설치되어 있는 것을 확인해 주세요 ([download](https://go.dev/dl/)). 버전 1.17 또는 그 이상이어야 합니다.
   126  
   127  폴더를 생성하여 당신의 프로젝트를 초기화하고, 폴더 안에서 `go mod init github.com/your/repo` ([learn more](https://go.dev/blog/using-go-modules)) 를 실행하세요. 그리고 [`go get`](https://pkg.go.dev/cmd/go/#hdr-Add_dependencies_to_current_module_and_install_them) 명령어로 Fiber를 설치하세요:
   128  
   129  ```bash
   130  go get -u github.com/gofiber/fiber/v2
   131  ```
   132  
   133  ## 🎯 특징
   134  
   135  -   견고한 [라우팅](https://docs.gofiber.io/guide/routing)
   136  -   [정적 파일](https://docs.gofiber.io/api/app#static) 제공
   137  -   뛰어난 [성능](https://docs.gofiber.io/extra/benchmarks)
   138  -   [적은 메모리](https://docs.gofiber.io/extra/benchmarks) 공간
   139  -   [API 엔드포인트](https://docs.gofiber.io/api/ctx)
   140  -   미들웨어 & [Next](https://docs.gofiber.io/api/ctx#next) 지원
   141  -   [빠른](https://dev.to/koddr/welcome-to-fiber-an-express-js-styled-fastest-web-framework-written-with-on-golang-497) 서버 사이드 프로그래밍
   142  -   [Template engines](https://github.com/gofiber/template)
   143  -   [WebSocket support](https://github.com/gofiber/websocket)
   144  -   [Server-Sent events](https://github.com/gofiber/recipes/tree/master/sse)
   145  -   [Rate Limiter](https://docs.gofiber.io/api/middleware/limiter)
   146  -   Available in [18 languages](https://docs.gofiber.io/)
   147  -   더 알고 싶다면, [Fiber 둘러보기](https://docs.gofiber.io/)
   148  
   149  ## 💡 철학
   150  
   151  [Node.js](https://nodejs.org/en/about/)에서 [Go](https://go.dev/doc/)로 전환하는 새로운 고퍼분들은 웹 어플리케이션이나 마이크로 서비스 개발을 시작할 수 있게 되기 전에 학습 곡선에 시달리고 있습니다. Fiber는 **웹 프레임워크**로서, 새로운 고퍼분들이 따뜻하고 믿음직한 환영을 가지고 빠르게 Go의 세상에 진입할 수 있게 **미니멀리즘**의 개념과 **UNIX 방식**에 따라 개발되었습니다.
   152  
   153  Fiber는 인터넷에서 가장 인기있는 웹 프레임워크인 Express에서 **영감을 받았습니다.** 우리는 Express의 **쉬운** 사용과 Go의 **성능**을 결합하였습니다. 만약 당신이 Node.js (Express 또는 비슷한 것을 사용하여) 로 웹 어플리케이션을 개발한 경험이 있다면, 많은 메소드들과 원리들이 **매우 비슷하게** 느껴질 것 입니다.
   154  
   155  우리는 **어떤한** 작업, **마감일정**, 개발자의 **기술**이던간에 **빠르고**, **유연하고**, **익숙한** Go 웹 프레임워크를 만들기 위해 사용자들의 [이슈들](https://github.com/gofiber/fiber/issues)을(그리고 모든 인터넷을 통해) **듣고 있습니다**! Express가 자바스크립트 세계에서 하는 것 처럼요.
   156  
   157  ## ⚠️ 한계점
   158  * Fiber는 unsafe 패키지를 사용하기 때문에 최신 Go버전과 호환되지 않을 수 있습니다.Fiber 2.40.0은 Go 버전 1.17에서 1.20로 테스트되고 있습니다.
   159  * Fiber는 net/http 인터페이스와 호환되지 않습니다.즉, gqlgen이나 go-swagger 등 net/http 생태계의 일부인 프로젝트를 사용할 수 없습니다.
   160  
   161  ## 👀 예제
   162  
   163  다음은 일반적인 예제들 입니다.
   164  
   165  > 더 많은 코드 예제를 보고 싶다면, [Recipes 저장소](https://github.com/gofiber/recipes) 또는 [API 문서](https://docs.gofiber.io)를 방문하세요.
   166  
   167  Listed below are some of the common examples. If you want to see more code examples , please visit our [Recipes repository](https://github.com/gofiber/recipes) or visit our hosted [API documentation](https://docs.gofiber.io).
   168  
   169  #### 📖 [**Basic Routing**](https://docs.gofiber.io/#basic-routing)
   170  
   171  ```go
   172  func main() {
   173      app := fiber.New()
   174  
   175      // GET /api/register
   176      app.Get("/api/*", func(c *fiber.Ctx) error {
   177          msg := fmt.Sprintf("✋ %s", c.Params("*"))
   178          return c.SendString(msg) // => ✋ register
   179      })
   180  
   181      // GET /flights/LAX-SFO
   182      app.Get("/flights/:from-:to", func(c *fiber.Ctx) error {
   183          msg := fmt.Sprintf("💸 From: %s, To: %s", c.Params("from"), c.Params("to"))
   184          return c.SendString(msg) // => 💸 From: LAX, To: SFO
   185      })
   186  
   187      // GET /dictionary.txt
   188      app.Get("/:file.:ext", func(c *fiber.Ctx) error {
   189          msg := fmt.Sprintf("📃 %s.%s", c.Params("file"), c.Params("ext"))
   190          return c.SendString(msg) // => 📃 dictionary.txt
   191      })
   192  
   193      // GET /john/75
   194      app.Get("/:name/:age/:gender?", func(c *fiber.Ctx) error {
   195          msg := fmt.Sprintf("👴 %s is %s years old", c.Params("name"), c.Params("age"))
   196          return c.SendString(msg) // => 👴 john is 75 years old
   197      })
   198  
   199      // GET /john
   200      app.Get("/:name", func(c *fiber.Ctx) error {
   201          msg := fmt.Sprintf("Hello, %s 👋!", c.Params("name"))
   202          return c.SendString(msg) // => Hello john 👋!
   203      })
   204  
   205      log.Fatal(app.Listen(":3000"))
   206  }
   207  
   208  ```
   209  
   210  #### 📖 [**Route Naming**](https://docs.gofiber.io/api/app#name)
   211  
   212  ```go
   213  func main() {
   214      app := fiber.New()
   215  
   216      // GET /api/register
   217      app.Get("/api/*", func(c *fiber.Ctx) error {
   218          msg := fmt.Sprintf("✋ %s", c.Params("*"))
   219          return c.SendString(msg) // => ✋ register
   220      }).Name("api")
   221  
   222      data, _ := json.MarshalIndent(app.GetRoute("api"), "", "  ")
   223      fmt.Print(string(data))
   224      // Prints:
   225      // {
   226      //    "method": "GET",
   227      //    "name": "api",
   228      //    "path": "/api/*",
   229      //    "params": [
   230      //      "*1"
   231      //    ]
   232      // }
   233  
   234  
   235      log.Fatal(app.Listen(":3000"))
   236  }
   237  
   238  ```
   239  
   240  #### 📖 [**Serving Static Files**](https://docs.gofiber.io/api/app#static)
   241  
   242  ```go
   243  func main() {
   244      app := fiber.New()
   245  
   246      app.Static("/", "./public")
   247      // => http://localhost:3000/js/script.js
   248      // => http://localhost:3000/css/style.css
   249  
   250      app.Static("/prefix", "./public")
   251      // => http://localhost:3000/prefix/js/script.js
   252      // => http://localhost:3000/prefix/css/style.css
   253  
   254      app.Static("*", "./public/index.html")
   255      // => http://localhost:3000/any/path/shows/index/html
   256  
   257      log.Fatal(app.Listen(":3000"))
   258  }
   259  
   260  ```
   261  
   262  #### 📖 [**Middleware & Next**](https://docs.gofiber.io/api/ctx#next)
   263  
   264  ```go
   265  func main() {
   266  	app := fiber.New()
   267  
   268  	// Match any route
   269  	app.Use(func(c *fiber.Ctx) error {
   270  		fmt.Println("🥇 First handler")
   271  		return c.Next()
   272  	})
   273  
   274  	// Match all routes starting with /api
   275  	app.Use("/api", func(c *fiber.Ctx) error {
   276  		fmt.Println("🥈 Second handler")
   277  		return c.Next()
   278  	})
   279  
   280  	// GET /api/register
   281  	app.Get("/api/list", func(c *fiber.Ctx) error {
   282  		fmt.Println("🥉 Last handler")
   283  		return c.SendString("Hello, World 👋!")
   284  	})
   285  
   286  	log.Fatal(app.Listen(":3000"))
   287  }
   288  
   289  ```
   290  
   291  <details>
   292    <summary>📚 Show more code examples</summary>
   293  
   294  ### Views engines
   295  
   296  📖 [Config](https://docs.gofiber.io/api/fiber#config)
   297  📖 [Engines](https://github.com/gofiber/template)
   298  📖 [Render](https://docs.gofiber.io/api/ctx#render)
   299  
   300  Fiber defaults to the [html/template](https://pkg.go.dev/html/template/) when no view engine is set.
   301  
   302  If you want to execute partials or use a different engine like [amber](https://github.com/eknkc/amber), [handlebars](https://github.com/aymerick/raymond), [mustache](https://github.com/cbroglie/mustache) or [pug](https://github.com/Joker/jade) etc..
   303  
   304  Checkout our [Template](https://github.com/gofiber/template) package that support multiple view engines.
   305  
   306  ```go
   307  package main
   308  
   309  import (
   310      "github.com/gofiber/fiber/v2"
   311      "github.com/gofiber/template/pug"
   312  )
   313  
   314  func main() {
   315      // You can setup Views engine before initiation app:
   316      app := fiber.New(fiber.Config{
   317          Views: pug.New("./views", ".pug"),
   318      })
   319  
   320      // And now, you can call template `./views/home.pug` like this:
   321      app.Get("/", func(c *fiber.Ctx) error {
   322          return c.Render("home", fiber.Map{
   323              "title": "Homepage",
   324              "year":  1999,
   325          })
   326      })
   327  
   328      log.Fatal(app.Listen(":3000"))
   329  }
   330  ```
   331  
   332  ### Grouping routes into chains
   333  
   334  📖 [Group](https://docs.gofiber.io/api/app#group)
   335  
   336  ```go
   337  func middleware(c *fiber.Ctx) error {
   338      fmt.Println("Don't mind me!")
   339      return c.Next()
   340  }
   341  
   342  func handler(c *fiber.Ctx) error {
   343      return c.SendString(c.Path())
   344  }
   345  
   346  func main() {
   347      app := fiber.New()
   348  
   349      // Root API route
   350      api := app.Group("/api", middleware) // /api
   351  
   352      // API v1 routes
   353      v1 := api.Group("/v1", middleware) // /api/v1
   354      v1.Get("/list", handler)           // /api/v1/list
   355      v1.Get("/user", handler)           // /api/v1/user
   356  
   357      // API v2 routes
   358      v2 := api.Group("/v2", middleware) // /api/v2
   359      v2.Get("/list", handler)           // /api/v2/list
   360      v2.Get("/user", handler)           // /api/v2/user
   361  
   362      // ...
   363  }
   364  
   365  ```
   366  
   367  ### Middleware logger
   368  
   369  📖 [Logger](https://docs.gofiber.io/api/middleware/logger)
   370  
   371  ```go
   372  package main
   373  
   374  import (
   375      "log"
   376  
   377      "github.com/gofiber/fiber/v2"
   378      "github.com/gofiber/fiber/v2/middleware/logger"
   379  )
   380  
   381  func main() {
   382      app := fiber.New()
   383  
   384      app.Use(logger.New())
   385  
   386      // ...
   387  
   388      log.Fatal(app.Listen(":3000"))
   389  }
   390  ```
   391  
   392  ### Cross-Origin Resource Sharing (CORS)
   393  
   394  📖 [CORS](https://docs.gofiber.io/api/middleware/cors)
   395  
   396  ```go
   397  import (
   398      "log"
   399  
   400      "github.com/gofiber/fiber/v2"
   401      "github.com/gofiber/fiber/v2/middleware/cors"
   402  )
   403  
   404  func main() {
   405      app := fiber.New()
   406  
   407      app.Use(cors.New())
   408  
   409      // ...
   410  
   411      log.Fatal(app.Listen(":3000"))
   412  }
   413  ```
   414  
   415  Check CORS by passing any domain in `Origin` header:
   416  
   417  ```bash
   418  curl -H "Origin: http://example.com" --verbose http://localhost:3000
   419  ```
   420  
   421  ### Custom 404 response
   422  
   423  📖 [HTTP Methods](https://docs.gofiber.io/api/ctx#status)
   424  
   425  ```go
   426  func main() {
   427      app := fiber.New()
   428  
   429      app.Static("/", "./public")
   430  
   431      app.Get("/demo", func(c *fiber.Ctx) error {
   432          return c.SendString("This is a demo!")
   433      })
   434  
   435      app.Post("/register", func(c *fiber.Ctx) error {
   436          return c.SendString("Welcome!")
   437      })
   438  
   439      // Last middleware to match anything
   440      app.Use(func(c *fiber.Ctx) error {
   441          return c.SendStatus(404)
   442          // => 404 "Not Found"
   443      })
   444  
   445      log.Fatal(app.Listen(":3000"))
   446  }
   447  ```
   448  
   449  ### JSON Response
   450  
   451  📖 [JSON](https://docs.gofiber.io/api/ctx#json)
   452  
   453  ```go
   454  type User struct {
   455      Name string `json:"name"`
   456      Age  int    `json:"age"`
   457  }
   458  
   459  func main() {
   460      app := fiber.New()
   461  
   462      app.Get("/user", func(c *fiber.Ctx) error {
   463          return c.JSON(&User{"John", 20})
   464          // => {"name":"John", "age":20}
   465      })
   466  
   467      app.Get("/json", func(c *fiber.Ctx) error {
   468          return c.JSON(fiber.Map{
   469              "success": true,
   470              "message": "Hi John!",
   471          })
   472          // => {"success":true, "message":"Hi John!"}
   473      })
   474  
   475      log.Fatal(app.Listen(":3000"))
   476  }
   477  ```
   478  
   479  ### WebSocket Upgrade
   480  
   481  📖 [Websocket](https://github.com/gofiber/websocket)
   482  
   483  ```go
   484  import (
   485      "github.com/gofiber/fiber/v2"
   486      "github.com/gofiber/fiber/v2/middleware/websocket"
   487  )
   488  
   489  func main() {
   490    app := fiber.New()
   491  
   492    app.Get("/ws", websocket.New(func(c *websocket.Conn) {
   493      for {
   494        mt, msg, err := c.ReadMessage()
   495        if err != nil {
   496          log.Println("read:", err)
   497          break
   498        }
   499        log.Printf("recv: %s", msg)
   500        err = c.WriteMessage(mt, msg)
   501        if err != nil {
   502          log.Println("write:", err)
   503          break
   504        }
   505      }
   506    }))
   507  
   508    log.Fatal(app.Listen(":3000"))
   509    // ws://localhost:3000/ws
   510  }
   511  ```
   512  
   513  ### Server-Sent Events
   514  
   515  📖 [More Info](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)
   516  
   517  ```go
   518  import (
   519      "github.com/gofiber/fiber/v2"
   520      "github.com/valyala/fasthttp"
   521  )
   522  
   523  func main() {
   524    app := fiber.New()
   525  
   526    app.Get("/sse", func(c *fiber.Ctx) error {
   527      c.Set("Content-Type", "text/event-stream")
   528      c.Set("Cache-Control", "no-cache")
   529      c.Set("Connection", "keep-alive")
   530      c.Set("Transfer-Encoding", "chunked")
   531  
   532      c.Context().SetBodyStreamWriter(fasthttp.StreamWriter(func(w *bufio.Writer) {
   533        fmt.Println("WRITER")
   534        var i int
   535  
   536        for {
   537          i++
   538          msg := fmt.Sprintf("%d - the time is %v", i, time.Now())
   539          fmt.Fprintf(w, "data: Message: %s\n\n", msg)
   540          fmt.Println(msg)
   541  
   542          w.Flush()
   543          time.Sleep(5 * time.Second)
   544        }
   545      }))
   546  
   547      return nil
   548    })
   549  
   550    log.Fatal(app.Listen(":3000"))
   551  }
   552  ```
   553  
   554  ### Recover middleware
   555  
   556  📖 [Recover](https://docs.gofiber.io/api/middleware/recover)
   557  
   558  ```go
   559  import (
   560      "github.com/gofiber/fiber/v2"
   561      "github.com/gofiber/fiber/v2/middleware/recover"
   562  )
   563  
   564  func main() {
   565      app := fiber.New()
   566  
   567      app.Use(recover.New())
   568  
   569      app.Get("/", func(c *fiber.Ctx) error {
   570          panic("normally this would crash your app")
   571      })
   572  
   573      log.Fatal(app.Listen(":3000"))
   574  }
   575  ```
   576  
   577  </details>
   578  
   579  ## 🧬 Internal Middleware
   580  
   581  Fiber 프레임워크에 포함되는 미들웨어 목록입니다.
   582  
   583  | Middleware                                                                             | Description                                                                                                                                                                  |
   584  | :------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   585  | [basicauth](https://github.com/gofiber/fiber/tree/master/middleware/basicauth)         | Basic auth middleware provides an HTTP basic authentication. It calls the next handler for valid credentials and 401 Unauthorized for missing or invalid credentials.        |
   586  | [cache](https://github.com/gofiber/fiber/tree/master/middleware/cache)                 | Intercept and cache responses                                                                                                                                                |
   587  | [compress](https://github.com/gofiber/fiber/tree/master/middleware/compress)           | Compression middleware for Fiber, it supports `deflate`, `gzip` and `brotli` by default.                                                                                     |
   588  | [cors](https://github.com/gofiber/fiber/tree/master/middleware/cors)                   | Enable cross-origin resource sharing \(CORS\) with various options.                                                                                                          |
   589  | [csrf](https://github.com/gofiber/fiber/tree/master/middleware/csrf)                   | Protect from CSRF exploits.                                                                                                                                                  |
   590  | [encryptcookie](https://github.com/gofiber/fiber/tree/master/middleware/encryptcookie) | Encrypt middleware which encrypts cookie values.                                                                                                                             |
   591  | [envvar](https://github.com/gofiber/fiber/tree/master/middleware/envvar)               | Expose environment variables with providing an optional config.                                                                                                              |
   592  | [etag](https://github.com/gofiber/fiber/tree/master/middleware/etag)                   | ETag middleware that lets caches be more efficient and save bandwidth, as a web server does not need to resend a full response if the content has not changed.               |
   593  | [expvar](https://github.com/gofiber/fiber/tree/master/middleware/expvar)               | Expvar middleware that serves via its HTTP server runtime exposed variants in the JSON format.                                                                               |
   594  | [favicon](https://github.com/gofiber/fiber/tree/master/middleware/favicon)             | Ignore favicon from logs or serve from memory if a file path is provided.                                                                                                    |
   595  | [filesystem](https://github.com/gofiber/fiber/tree/master/middleware/filesystem)       | FileSystem middleware for Fiber, special thanks and credits to Alireza Salary                                                                                                |
   596  | [limiter](https://github.com/gofiber/fiber/tree/master/middleware/limiter)             | Rate-limiting middleware for Fiber. Use to limit repeated requests to public APIs and/or endpoints such as password reset.                                                   |
   597  | [logger](https://github.com/gofiber/fiber/tree/master/middleware/logger)               | HTTP request/response logger.                                                                                                                                                |
   598  | [monitor](https://github.com/gofiber/fiber/tree/master/middleware/monitor)             | Monitor middleware that reports server metrics, inspired by express-status-monitor                                                                                           |
   599  | [pprof](https://github.com/gofiber/fiber/tree/master/middleware/pprof)                 | Special thanks to Matthew Lee \(@mthli\)                                                                                                                                     |
   600  | [proxy](https://github.com/gofiber/fiber/tree/master/middleware/proxy)                 | Allows you to proxy requests to a multiple servers                                                                                                                           |
   601  | [recover](https://github.com/gofiber/fiber/tree/master/middleware/recover)             | Recover middleware recovers from panics anywhere in the stack chain and handles the control to the centralized[ ErrorHandler](https://docs.gofiber.io/guide/error-handling). |
   602  | [requestid](https://github.com/gofiber/fiber/tree/master/middleware/requestid)         | Adds a requestid to every request.                                                                                                                                           |
   603  | [session](https://github.com/gofiber/fiber/tree/master/middleware/session)             | Session middleware. NOTE: This middleware uses our Storage package.                                                                                                          |
   604  | [skip](https://github.com/gofiber/fiber/tree/master/middleware/skip)                   | Skip middleware that skips a wrapped handler is a predicate is true.                                                                                                         |
   605  | [timeout](https://github.com/gofiber/fiber/tree/master/middleware/timeout)             | Adds a max time for a request and forwards to ErrorHandler if it is exceeded.                                                                                                |
   606  | [keyauth](https://github.com/gofiber/keyauth)     | Key auth middleware provides a key based authentication.                                                                                                            |
   607  | [redirect](https://github.com/gofiber/redirect)   | Redirect middleware                                                                                                                                                 |
   608  | [rewrite](https://github.com/gofiber/rewrite)     | Rewrite middleware rewrites the URL path based on provided rules. It can be helpful for backward compatibility or just creating cleaner and more descriptive links. |
   609  | [adaptor](https://github.com/gofiber/adaptor)     | Converter for net/http handlers to/from Fiber request handlers, special thanks to @arsmn!                                                                           |
   610  | [helmet](https://github.com/gofiber/helmet)       | Helps secure your apps by setting various HTTP headers.                                                                                                             |
   611  
   612  ## 🧬 External Middleware
   613  
   614  [Fiber team](https://github.com/orgs/gofiber/people)에 의해 관리 및 운용되고 있는 미들웨어 목록입니다.
   615  
   616  | Middleware                                        | Description                                                                                                                                                         |
   617  | :------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
   618  | [jwt](https://github.com/gofiber/jwt)             | JWT returns a JSON Web Token \(JWT\) auth middleware.                                                                                                               |
   619  | [storage](https://github.com/gofiber/storage)     | Premade storage drivers that implement the Storage interface, designed to be used with various Fiber middlewares.                                                   |
   620  | [template](https://github.com/gofiber/template)   | This package contains 8 template engines that can be used with Fiber `v1.10.x` Go version 1.13 or higher is required.                                               |
   621  | [websocket](https://github.com/gofiber/websocket) | Based on Fasthttp WebSocket for Fiber with Locals support!                                                                                                          |
   622  
   623  ## 🕶️ Awesome List
   624  
   625  For more articles, middlewares, examples or tools check our [awesome list](https://github.com/gofiber/awesome-fiber).
   626  
   627  ## 👍 기여
   628  
   629  `Fiber`의 활발한 개발을 지원하고 감사 인사를 하고 싶다면:
   630  
   631  1. 프로젝트에 [GitHub Star](https://github.com/gofiber/fiber/stargazers)를 추가하세요.
   632  2. [트위터에서](https://twitter.com/intent/tweet?text=Fiber%20is%20an%20Express%20inspired%20%23web%20%23framework%20built%20on%20top%20of%20Fasthttp%2C%20the%20fastest%20HTTP%20engine%20for%20%23Go.%20Designed%20to%20ease%20things%20up%20for%20%23fast%20development%20with%20zero%20memory%20allocation%20and%20%23performance%20in%20mind%20%F0%9F%9A%80%20https%3A%2F%2Fgithub.com%2Fgofiber%2Ffiber) 프로젝트에 대해 트윗하세요.
   633  3. [Medium](https://medium.com/), [Dev.to](https://dev.to/) 또는 개인 블로그에 리뷰 또는 튜토리얼을 작성하세요.
   634  4. Support the project by donating a [cup of coffee](https://buymeacoff.ee/fenny).
   635  
   636  ## ☕ Supporters
   637  
   638  Fiber is an open source project that runs on donations to pay the bills e.g. our domain name, gitbook, netlify and serverless hosting. If you want to support Fiber, you can ☕ [**buy a coffee here**](https://buymeacoff.ee/fenny).
   639  
   640  |                                                            | User                                             | Donation |
   641  | :--------------------------------------------------------- | :----------------------------------------------- | :------- |
   642  | ![](https://avatars.githubusercontent.com/u/204341?s=25)   | [@destari](https://github.com/destari)           | ☕ x 10  |
   643  | ![](https://avatars.githubusercontent.com/u/63164982?s=25) | [@dembygenesis](https://github.com/dembygenesis) | ☕ x 5   |
   644  | ![](https://avatars.githubusercontent.com/u/56607882?s=25) | [@thomasvvugt](https://github.com/thomasvvugt)   | ☕ x 5   |
   645  | ![](https://avatars.githubusercontent.com/u/27820675?s=25) | [@hendratommy](https://github.com/hendratommy)   | ☕ x 5   |
   646  | ![](https://avatars.githubusercontent.com/u/1094221?s=25)  | [@ekaputra07](https://github.com/ekaputra07)     | ☕ x 5   |
   647  | ![](https://avatars.githubusercontent.com/u/194590?s=25)   | [@jorgefuertes](https://github.com/jorgefuertes) | ☕ x 5   |
   648  | ![](https://avatars.githubusercontent.com/u/186637?s=25)   | [@candidosales](https://github.com/candidosales) | ☕ x 5   |
   649  | ![](https://avatars.githubusercontent.com/u/29659953?s=25) | [@l0nax](https://github.com/l0nax)               | ☕ x 3   |
   650  | ![](https://avatars.githubusercontent.com/u/635852?s=25)   | [@bihe](https://github.com/bihe)                 | ☕ x 3   |
   651  | ![](https://avatars.githubusercontent.com/u/307334?s=25)   | [@justdave](https://github.com/justdave)         | ☕ x 3   |
   652  | ![](https://avatars.githubusercontent.com/u/11155743?s=25) | [@koddr](https://github.com/koddr)               | ☕ x 1   |
   653  | ![](https://avatars.githubusercontent.com/u/29042462?s=25) | [@lapolinar](https://github.com/lapolinar)       | ☕ x 1   |
   654  | ![](https://avatars.githubusercontent.com/u/2978730?s=25)  | [@diegowifi](https://github.com/diegowifi)       | ☕ x 1   |
   655  | ![](https://avatars.githubusercontent.com/u/44171355?s=25) | [@ssimk0](https://github.com/ssimk0)             | ☕ x 1   |
   656  | ![](https://avatars.githubusercontent.com/u/5638101?s=25)  | [@raymayemir](https://github.com/raymayemir)     | ☕ x 1   |
   657  | ![](https://avatars.githubusercontent.com/u/619996?s=25)   | [@melkorm](https://github.com/melkorm)           | ☕ x 1   |
   658  | ![](https://avatars.githubusercontent.com/u/31022056?s=25) | [@marvinjwendt](https://github.com/thomasvvugt)  | ☕ x 1   |
   659  | ![](https://avatars.githubusercontent.com/u/31921460?s=25) | [@toishy](https://github.com/toishy)             | ☕ x 1   |
   660  
   661  ## ‎‍💻 Code Contributors
   662  
   663  <img src="https://opencollective.com/fiber/contributors.svg?width=890&button=false" alt="Code Contributors" style="max-width:100%;">
   664  
   665  ## ⭐️ Stargazers
   666  
   667  <img src="https://starchart.cc/gofiber/fiber.svg" alt="Stargazers over time" style="max-width: 100%">
   668  
   669  ## ⚠️ License
   670  
   671  Copyright (c) 2019-present [Fenny](https://github.com/fenny) and [Contributors](https://github.com/gofiber/fiber/graphs/contributors). `Fiber` is free and open-source software licensed under the [MIT License](https://github.com/gofiber/fiber/blob/master/LICENSE). Official logo was created by [Vic Shóstak](https://github.com/koddr) and distributed under [Creative Commons](https://creativecommons.org/licenses/by-sa/4.0/) license (CC BY-SA 4.0 International).
   672  
   673  **Third-party library licenses**
   674  
   675  -   [colorable](https://github.com/mattn/go-colorable/blob/master/LICENSE)
   676  -   [isatty](https://github.com/mattn/go-isatty/blob/master/LICENSE)
   677  -   [runewidth](https://github.com/mattn/go-runewidth/blob/master/LICENSE)
   678  -   [fasthttp](https://github.com/valyala/fasthttp/blob/master/LICENSE)
   679  -   [bytebufferpool](https://github.com/valyala/bytebufferpool/blob/master/LICENSE)
   680  -   [dictpool](https://github.com/savsgio/dictpool/blob/master/LICENSE)
   681  -   [fwd](https://github.com/philhofer/fwd/blob/master/LICENSE.md)
   682  -   [go-ole](https://github.com/go-ole/go-ole/blob/master/LICENSE)
   683  -   [gopsutil](https://github.com/shirou/gopsutil/blob/master/LICENSE)
   684  -   [msgp](https://github.com/tinylib/msgp/blob/master/LICENSE)
   685  -   [schema](https://github.com/gorilla/schema/blob/master/LICENSE)
   686  -   [uuid](https://github.com/google/uuid/blob/master/LICENSE)
   687  -   [wmi](https://github.com/StackExchange/wmi/blob/master/LICENSE)