Skip to content

Instantly share code, notes, and snippets.

@rolroralra
Last active August 14, 2023 16:28
Show Gist options
  • Save rolroralra/a400f0d01f7b00d90c65696c3f762a69 to your computer and use it in GitHub Desktop.
Save rolroralra/a400f0d01f7b00d90c65696c3f762a69 to your computer and use it in GitHub Desktop.
http

Document for HTTP

https://developer.mozilla.org/ko/docs/Web/HTTP

HyperText Transfer Protocol


HTTP 특징

  1. Server-Client
  2. Connectionless
  3. Stateless

HTTP Method

Details

HTTP Method Request Body Response Body Safe Idempotent Cacheable
GET X O O O O
HEAD X X O O O
POST O O X X
PUT O O X O X
DELETE X O X O X
PATCH O O X X
CONNECT O O X X X
OPTIONS O O O X
TRACE X O O O X


HTTP Status Code

Details

HTTP Status Code Reason
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
300 Multiple Choices
301 Moved Permanently
302 Found
303 See Other
304 Not Modified
307 Temporary Redirection
308 Permanent Redirection
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
415 Unsupported Media Type
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported


HTTP Header

Details

HTTP Header Using when Description
Content-Type Response https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Content-Type
Content-Encoding Response https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Content-Encoding
Content-Language Response https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Content-Language
Content-Length Response https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Content-Length
Transfer-Encoding Request

Transfer-Encoding: chunked
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Transfer-Encoding
Range Request

Range: bytes=1001-2000
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Range
Content-Range Response

HTTP/1.1 206 Partial Content
Content-Range: bytes 1001-2000 / 2000
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Content-Range
From Request https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/From
Referer Request https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Referer
User-Agent Request https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/User-Agent
Server Response https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Server
Date Response https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Date
Host Request https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Host
Location Response

HTTP/1.1 201 Created
Location: /users/1001
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Location
Allow Response

HTTP/1.1 405 Method Not Allowed
Allow: GET,HEAD,PUT
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Allow
Retry-After Response

HTTP/1.1 503 Service Unavailable
Retry-After: 120
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Retry-After
Authorization Request

Authorization: Basic xxxxxxxxxxxxxxxxx
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Authorization
WWW-Authenticate Response

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/WWW-Authenticate
Set-Cookie Response

set-cookie: sessionId=12345; expires=Sat, 26-Dec-2021 00:00:00 GMT; path=/; domain=.google.com' ;Secure; HttpOnly; SameSite
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Set-Cookie
Cookie Request

cookie: name=value; name2=value2; name3=value3
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Cookie
Cache-Control Request, Response

Cache-Control: max-age=60
Cache-Control: private
Cache-Control: public
Cache-Control: no-cache
Cache-Control: no-store
Cache-Control: must-revalidate
Cache-Control: s-maxage=60
Cache-Control: proxy-revalidate
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Cache-Control
Last-Modified Response

HTTP/1.1 304 Not Modified
Last-Modified: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Last-Modified
If-Modified-Since Request

If-Modifed-Since: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/If-Modified-Since
Etag Response

HTTP/1.1 304 Not Modified
Etag: <etag_value>
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Etag
If-None-Match Request

If-None-Match: <etag_value>
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/If-None-Match
Age Response

Age: 60
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Age
X-Forwarded-For Request

X-Forwarded-For: client, proxy1, proxy2
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/X-Forwarded-For
Vary Response

Vary: <header-name>, <header-name>
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Vary
Origin Request

Origin: <scheme> "://" [ ":" <port> ]
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Origin
Access-Control-Request-Headers Request

Access-Control-Request-Headers: <header-name>, <header-name>, ...
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Access-Control-Request-Headers
Access-Control-Request-Method Request

Access-Control-Request-Method: <method>
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Access-Control-Request-Method
Access-Control-Allow-Origin Response

Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: <origin>
Access-Control-Allow-Origin: null
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Access-Control-Allow-Origin
Access-Control-Allow-Headers Response

Access-Control-Allow-Headers: <header-name>[, <header-name>]*
Access-Control-Allow-Headers: *
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Access-Control-Allow-Headers
Access-Control-Allow-Methods Response

Access-Control-Allow-Methods: <method>, <method>, ...
Access-Control-Allow-Methods: *
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods
Access-Control-Expose-Headers Response

Access-Control-Expose-Headers: [<header-name>[, <header-name>]*]
Access-Control-Expose-Headers: *
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers
Access-Control-Max-Age Response

Access-Control-Max-Age: <delta-seconds>
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers
Access-Control-Allow-Credentials Response

Access-Control-Allow-Credentials: true
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials


REST

  1. 자원 식별 (URI: Uniform Resource Identifier)
  2. 메시지를 통한 리소스 조작 (Content-Type)
  3. 자기서술적 메시지 (HTTP Method, Header)
  4. 애플리케이션 상태에 대한 엔진으로서 하이퍼미디어 (HATEOAS: Hypermedia as the Engine of Application State)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment