Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

seminar2 #3

Open
hfjxjjd123 opened this issue Oct 24, 2024 · 0 comments
Open

seminar2 #3

hfjxjjd123 opened this issue Oct 24, 2024 · 0 comments

Comments

@hfjxjjd123
Copy link
Collaborator

L4 Switch, L7 Switch 가 무엇인지 조사해보세요

L4 계층: transport layer

포트정보
컴퓨터 IP주소(발신, 수신)

L4 스위치: IP, port정보를 통해 컴퓨터 차원에서 스위칭

활용: 패킷필터링, 로드밸런싱, session persistence

패킷필터링

: 4계층(TCP, UDP) 패킷정보로 차단

  • 보안기능
  • 패킷처리 부담 ↓

로드밸런싱

: 트래픽 배분

  • 성능향상

Session persistence

: 사용자 - 서버 연결보장

  • 사용자의 정보가 특정 서버에서 계속해서 처리되어야하는 경우 (like 결제시스템)

L7 계층: application layer

HTTP → application에서 활용할 수 있는 데이터
url, http_method, cookie, session

L7 스위치: 앱의 요청사항에 따라서 스위칭 해줄 수 있다
(예: 게시판 관련 처리는 서버1에서 담당)

HTTP 로드밸런싱

: 트래픽 배분

  • URL(리소스)에 따라 배분
    (e.g., /api, /login, /static)
  • HTTP 메소드에 따라 배분
  • 그냥 부하관리

Session persistence

: 사용자 - 서버 연결보장

  • 쿠키, 세션에 따라 트래픽 연결

RESTful API에 대해

.. 잘 몰라서 정의부터 살펴봤습니다.

REST 구조

HTTP를 준수하며 URL(리소스)을 활용해 개발자가 통신하는 방법
(결국 통신은 어플리케이션이 하겠지만 개발하는 과정에서 개발자가 구현하니까..)

⇒ 통상적인 http 규칙에 따라서 통신할 것

  • 메소드
  • http status

⇒ URL을 활용하여 통신할 것

  • 1개의 instance에 대응되는 URL

HTTP는 얼추 알겠는데 URL은 어떻게 고려해서 API를 써야될까...??

후보1: instance를 URL로 표현

: /user/1

→ RESTful
'리소스'를 url이 명확하게 표현하고 있음

후보2: 추상?범위를 URL로 표현

: /user?id=1

→ 쿼리파라미터는 filtersearch 할 때 주로 쓴다고 한다

POST할 때는 id를 몰라서 /user/1와 같은 지정을 못하는데?

→ resource(/user/1)를 만듦
⇒ 201 created가 있는 이유가 아닐까
201 created는 만들어진 url을 보내준다고 한다..

장점: 만들어진 id 클라가 확인가능
delete시 204 no content도 비슷한 맥락이라고 한다

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant