Skip to content

Week1 Assignment

onemoon edited this page Jan 25, 2019 · 27 revisions

Encoding

  • 문자나 기호들의 집합을 컴퓨터에서 표현하는 방식
  • 정보의 형태나 형식을 변환하는 처리나 처리 방식
  • 내용에는 변화가 없다.

아스키 코드

  • 한 문자를 표현하는데 사용하는 1byte 하지만 7비트 까지만 사용 되고 있다.
    • 8번째 비트는 사용되지 않는다.

UTF-8 , UTF-16 모두 유니코드를 기반으로 하는 인코딩이다.

  • UTF-8이 표현할 수 있는 범위가 더 많다는 것을 알아두자

base64 인코딩

  • 여러가지 데이터를 보내면서 문자가 아닌 바이너리 파일을 보낼 일이 잦아졌고 이에 따라서 생긴 인코딩 방식
  • 2진 데이터를 아스키형태의 텍스트로 표현하는 인코딩이다.
  • 즉 바이너리 데이터를 캐릭터셋에 영향을 받지 않는 공통 부분인 ASCII 로 표현한다.
  • 이때 파일애서 텍스트로의 변환 과정이 인코딩, 텍스트에서 파일로의 변환 과정이 디코딩이다.

CRUD

  • CRUD 란?
    • Create, Read, Update, Delete의 제일 앞 문자를 하나씩 따와서 만든 줄임말
    • 데이터를 처리하는 시스템이 지속성을 갖기위해 갖춰야 하는 기본적인 데이터 처리 4가지 기능이다.

CREATE

  • 새로운 데이터가 생성될 때 사용됩니다.

READ

  • 현재 데이터베이스에 있는 데이터를 검색하고 결과를 표시하기 위해 사용됩니다.

UPDATE

  • 데이터에 대한 정보를 변경해야 할 때 사용됩니다.

DELETE

  • 데이터를 삭제하기를 원할 때 사용됩니다.

HTTP Method

  • HTTP Method 란?
    • 클라이언트가 서버에게 사용자 요청의 목적/종류를 알리는 수단

GET

  • 해당 리소스를 조회하고 자세한 정보를 가져온다.

  • 데이터가 HTTP Message의 Header 부분 URL에 담겨서 전송된다.

    • URL 공간에 데이터가 담겨가기 때문에 전송할 수 있는 데이터의 크기가 제한적이다.
  • 데이터가 URL에 그대로 노출되기 때문에 보안성은 없다.

POST

  • 해당 리소스의 값이나 상태를 변경하거나 추가할 수 있다.

  • 데이터가 HTTP Message의 Body 부분에 담겨서 전송된다.

    • GET 방식보단 담을 수 있는 데이터의 크기가 크고 보안성이 좋다.
    • 하지만 보안적인 측면에서는 암호화를 하지 않는 이상 비슷하다.

PUT

  • 자원에 대해서 업데이트 혹은 교체를 할때 사용한다.

    • 해당 자원의 모든 영역을 알고 있어야 하고, 내용이 없는 부분은 빈값을 넣거나 초기화를 해야한다.
  • 또한 존재하지 않는 리소스 아이디에 대해서 PUT을 요청할때 생성할 수 있어야 한다.

    • 하지만 혼동할 여지가 있으므로 최대한 이렇게 해서는 안된다.
  • Server 자원의 상태를 변경할 수 있기 때문에 안전한 요청이 아니다.

PATCH

  • 자원에 대해서 업데이트 혹은 변경을 할때 사용한다.

    • 해당 자원의 모든 영역을 알고 있을 필요가 없다. 필요한 부분만 body에 넣어서 전달한다.
  • PUT 과 다르게 동시적으로 요청이 들어왔을 때 문제가 생길 수 있다.

    • PATCH는 서버에 있는 자원과 현재 값을 비교한 뒤 바뀐 부분만 변경한다.
    • 예를 들어서 클라이언트가 예전 리소스를 들고 있으면 서버에 있는 현재 리소스와 다르기 때문에 어떤 값을 처리해야할지 혼동이 생길 수 있다.
  • Server 자원의 상태를 변경할 수 있기 때문에 안전한 요청이 아니다.

DELETE

  • 요청된 자원을 삭제할 때 사용한다.

  • PUT과 같이 웹 애플리케이션 등에 의한 인증 기능과 짝을 이루는 경우나 REST와 같이 웹 끼리 연계하는 설계양식을 사용할 때 주로 사용한다.

  • HTTP 규격에 Client의 요청에 서버가 무효화 시킬 수 있도록 정의되어있다.

    • 안전성 문제로 대부분의 서버에서 비활성화 시킨다.

CRUD & HTTP Method Mapping

CRUD HTTP Method Function
CREATE POST Base URI를 이용해 새로운 URI를 생성한다.
READ GET URI의 데이터를 읽어온다.
UPDATE PUT, PATCH 이미 존재하는 URI를 업데이트 한다.
DELETE DELETE 해당 URI를 삭제한다.
Clone this wiki locally