Pepperminttt
Pepperminttt's Dev
Pepperminttt
전체 방문자
오늘
어제
  • devInfo (86)
    • forBeingGoodDeveloper (2)
    • React (2)
      • LostArk Open API (1)
    • algorithm (58)
      • problems (44)
      • theory (14)
    • computerScience (8)
      • network (8)
    • javaScript (8)
    • Java (4)
    • web (2)
      • webApplication (2)
    • etc. (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 벨만-포드
  • bfs문제
  • 그래프
  • DP문제
  • Network
  • solved.ac
  • greedy
  • 알고리즘
  • Java
  • 백준
  • node.js
  • dfs문제
  • DP
  • JavaScript
  • 탐욕법 문제
  • BFS
  • dfs
  • 탐욕법
  • 프로그래머스
  • C++

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Pepperminttt

Pepperminttt's Dev

REST & RESTful
computerScience/network

REST & RESTful

2022. 11. 22. 22:25

REST & RESTful이란?

REST란 Representational State Transfer의 약자로 웹의 장점을 최대한 활용할 수 있는 Client와 Server 간 통신 방식 중 하나이다.

설계 기본 규칙으로 HTTP URI를 통해 자원을 명시하고 HTTP method(GET, POST, PUT, DELETE)를 통해 자원을 처리하도록 설계된 아키텍처이다.

RESTful은 REST라는 아키텍처를 구현하는 웹 서비스를 나타내는 것으로 REST 원리를 따르는 시스템을 RESTful이라는 용어로 지칭한다.

HTTP란?

HyperText Transfer Protocal의 약자로써 인터넷 통신을 위해 사용되는 프로토콜이다.

HTTP 동작

Client가 브라우저를 통해 URI을 통해 특정 요청(Request)을 보내면, Server는 해당 요청(Request)을 받아 처리를 하여 Client에게 응답(Response)을 하는 형태

HTTP 특징

  • TCP/IP을 이용한 응용 프로토콜이다.
  • 연결 상태를 유지하지 않는 비연결성 프로토콜이다.
  • 요청과 응답 방식으로 동작한다.
  • 서버와 클라이언트에 의해 HTTP 메세지가 해석된다.

 

HTTP Method

GET URI가 가진 정보를 검색하기 위해 요청하는 메소드
HEAD GET메소드와 방식은 동일하지만, 응답에 BODY가 없고 응답 코드와 HEAD만 응답하는데 사용되는 메소드
POST 요청된 자원을 생성하기 위한 메소드
PUT 요청된 자원을 수정할때 사용하고, PATHCH와는 다르게 자원 전체를 갱신하는데 사용되는 메소드
PATCH PUT메소드와 유사하게 요청된 자원을 수정할때 사용되지만, 자원의 일부를 수정하는 의미로 사용되는 메소드
DELETE 요청된 자원을 삭제하기 위한 메소드
CONNECT 동적으로 터널 모드를 교환하고 프락시 기능을 요청할때 사용하는 메소드
TRACE 원격 서버에 루프백 메세지를 호출하기 위해 테스트용도로 사용하는 메소드
OPTIONS 웹 서버에서 지원하는 메소드의 종류들을 확인할 경우 사용하는 메소드

HTTP Status Code

정보전송 임시응답 (1xx)

  • 서버가 요청을 클라이언트에서 성공적으로 수신을 했고 서버에서 처리중인 정보를 보낸디.Status Code 설명 
  •  
    100 Continue
    101 Swiching protocols

성공 (2xx)

  • 서버가 요청을 성공적으로 받았음을 알려준다.Status Code 설명
    200 Ok!
    201 Created
    202 Accepted
    203 Non-authoritative Information
    204 No Cotent

리다이렉션 (3xx)

  • 캐싱된 파일을 새로고침 하여 확인하면 3xx대 코드을 받을 수 있다.Status Code 설명
    301 Moved permanently
    302 Not temporarily
    303 Not modified

클라이언트 요청 오류 (4xx)

  • 클라이언에서 서버에 잘못된 요청을 보내 서버가 요청을 해결 할 수 없을때 발생하는 코드이며, 클라이언트측에서 발생하는 코드이다.Status Code 설명
    400 Bad Request
    401 Unauthorized
    402 Payment required
    403 Forbidden
    404 Not found
    405 Method not allowed
    407 Proxy authentication required
    408 Request timeout
    410 Gone
    412 Precondition failed
    414 Request-URI too long

서버에러 (5xx)

  • 클라이언트의 요청을 받고 서버에서 처리하지 못할때 발생하는 코드이며, 서버측에서 발생하는 코드이다.Status Code 설명
    500 Internal server error
    501 Not implemented
    503 Service unnailable
    504 Gateway timeout
    505 HTTP version not supported

'computerScience > network' 카테고리의 다른 글

cookie와 session  (0) 2022.11.22
대칭키와 암호화  (0) 2022.11.19
HTTP와 HTTPS  (0) 2022.11.19
3-handshake와 4-handshake  (0) 2022.11.19
UDP  (0) 2022.11.18
    'computerScience/network' 카테고리의 다른 글
    • cookie와 session
    • 대칭키와 암호화
    • HTTP와 HTTPS
    • 3-handshake와 4-handshake
    Pepperminttt
    Pepperminttt
    HTML, JavaScript, Python 등 Computer language TIL

    티스토리툴바