본문 바로가기

백앤드 개발

서버 개발에 필요한 간단한 질문과 답

반응형

- Thread 동기화의 종류와 각각의 장단점 

- Double Buffering 시 예상되는 문제점 

- RESTful API에 대해 설명 

- Library와 DLL 사용시 차이점과 각각 사용시 장단점 

- STL List와 Vector의 차이점, 장단점 

- Hash Table에 대한 설명. 

- 특정 Tree search 알고리즘에 대한 설명 


1. get 과 post의 차이


get

(1)서버에서 정보를 가져올 때 쓴다. 서버의 값이나 상태를 바꾸는 용도가 아님.(게시판 글 확인)

(2)정보를 url에 이어 붙기 때문에 많은 데이터를 보내기 어렵다.


post

(1)서버의 값이나 상태를 바꾸기 위해서 사용, db에 저장 (ex. 게시판 글 등록)

(2)정보를 body에 넣어서 formatting해서  보내기때문에 더 많은양을 보내기에 적합하다.



2. RESTful의 특징

(1) 웹의 모든 리소스는 URI로 표현하고 접근 할 수 있어야한다.

(2) 모든 리소스는 구조적이고 유기적으로 연결할 수 있어야한다.

하나의 리소스가 다른 리소스와의 연결되어 표현되어야함.

<user>

  <name>MK</name>

  <home>MK/home/</home>

  <office>MK/office</office>

</user>

(3) 비상태 지향적인 방법을 따른다.

클라이언트의 상태를 서버에서 관리 하면 안되고 모든 요청은 일회성 성격을 가짐, 세션을 유지하는 상태는 안됨

(4) 정해진 메서드(HTTP Method)만을 사용해 리소를 사용하는 아키텍처이다.

- 리소스 조회 : GET

 - 새로운 리소스 생성 : PUT, POST (새로운 리소스의 URI를 생성하는 주체가 서버이면 POST를 사용)

 - 존재하는 리소스 변경 : PUT

 - 존재하는 리소스 삭제 : DELETE

 - 존재하는 리소스 메타데이터 보기 : HEAD

 - 존재하는 리소스의 지원 method 체크 : OPTION



3.URI, URL 차이


(1) URI(Uniform Resource Identifier) 통합자원 식별자 

인터넷에 있는 자원을 나타내는 주소, 식별자까지 포함한 개념 URI> URL+URN

https://www.google.co.kr/search?q=uri 

(2) URL(Uniform Resource locator)

네트워크 상에서 자원이 어디있는지를 알려주기 위한 규약(정형화된 리소스 위치)

https://www.google.co.kr/search

http://test.com/work/sample.pdf

http: 규약, test.com: 도메인, /work/sample.pdf: 자원의 경로명

위의 예처럼 명백하게 특정위치에서 자원을 가져올 수 있는 경우를 의미함.


(3) URN (Uniform Resource Name)

urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66

이런건데  uuid를 해석가능한 프로그램이 있어야 동작.



 해쉬 테이블


해쉬 테이블 또는 해쉬 맵은 key와 value를 갖는 자료 구조이다. 

해시 코드란 해시 함수에 의해서 출력된 일정한 길이의 값이다.

반응형