몰랐던 내용들 위주로 정리했고, 추가적인 네트워크 관련 내용은 블로그에 정리해뒀습니다!
https://blueharmel-dev.tistory.com/category/Study/컴퓨터 네트워크
1. URI (Uniform Resource Identifier) :
- 리소스를 식별하는 방법에 대한 정의
- URI = URL(Locator) + URN(Name)
- URL : 프로토콜://[호스트명]:[포트][/PATH][?queryParameter] (HTTP는 80번포트, HTTPS는 443번포트를 사용)
2. Load Balancer (L4) :
- Load Balanceing(부하 분산) : 하나의 인터넷 서비스가 발생하는 트래픽이 많을 때, 여러 대의 서버가 분산처리하여 서버의 로드율을 증가, 부하량, 속도 저하등을 고려하여 적절히 분산처리 해주는 서비스
- L4 Load Balancer : OSI 7계층 중 4계층인 Transport 기반의 로드벨런서로 TCP,UDP,HTTP와 같은 프로토콜들의 헤더를 분석하여 그 정보를 바탕으로 부하 분산을 실시하고 Source/Destination IP 를 NAT(Network Address Translation) 하여 보낼 수 있다.
3. HTTP 상태코드 :
- 상태 코드는 서버로부터 Request
결과
를 전달, 응답의 성공 여부와 정보를 나타냄
HTTP 상태코드는 크게 5가지 범주로 나뉜다
- 1xx : 정보(Information) : 요청을 받아들여 처리중
- 2xx : 성공(Successful) : 요청을 정상적으로 처리했음
- 3xx : 리다이렉트(Redirection) : 요청을 완료하기 위해서 추가 동작이 필요
- 4xx : 클라이언트 오류(Client Error) : 서버는 요청을 이해 불가능
- 5xx : 서버 오류(Server Error) : 서버는 요청을 처리 실패
2xx 성공(Success)
2xx 응답은 요청이 정상적으로 처리되었음
200 OK
클라이언트가 보낸 요청을 서버가 정상 처리했음
201 Created
클라이언트 요청이 성공적으로 처리되어 리소스가 만들어졌음
204 No Content
요청이 성공적으로 처리되긴 했지만, 돌려줄 리소스가 없음
3xx 리다이렉트(Redirection)
요청에 대한 정상 처리를 위해서는 브라우저측에서 특별한 처리를 수행해야함
301 Moved Permanently
요청으로 들어온 URI가 새것이 아닐 경우, 다른 URI로 연결해야함
4xx 클라이언트 오류(Client Error)
클라이언트의 잘못으로 에러가 발생했음을 나타냄.
400 Bad Request
🕵️클라이언트 : (요청 날림)
🤖서버 : “이 요청은 뭐지? 잘못된 거 아냐?”
요청 구문이 잘못되어 발생한 것 이고, 이 에러가 발생한 경우 요청 내용을 재검토하고 나서 다시 발송할 필요가 있습니다. 마치 우리가 브라우저에서 입력 주소를 다시 입력하는 것처럼 말이죠.
401 Unauthorized
요청을 보낸 HTTP에 인증 정보가 필요하다는 것
🕵️클라이언트 : (요청 날림)
🤖서버 : “이 페이지는 인증이 필요하잖아!” or “이 페이지는 인증에 실패했습니다!”
403 Forbidden
요청을 보낸 리소스의 액세스가 거부되었음. 보통 이런 응답인 원인은 파일 시스템의 퍼미션(권한)이 부여되지 않은 경우와 액세스 권한 문제가 있는 것
404 Not Found
클라이언트에서 요청한 리소스가 서버에 없다. 그 외에도 서버 측에 해당 요청을 거부하고 싶은 이유를 분명하게 말하고싶지 않을 경우에도 이용
5xx 서버 오류(Server Error)
5xx 응답코드는 서버 원인으로 에러가 발생하고 있음을 나타냄
500 Internal Server Error
이 응답코드는, 서버에서 요청을 처리하는 도중에 에러가 발생했음을 나타냅니다. 웹 애플리케이션에 에러가 발생한 경우 혹은 일시적인 경우도 있습니다.
🕵️클라이언트 : (요청 날림)
🤖서버 : “우리 서버 리소스에 오류가 발생한 것 같은데😭”
503 Service Unavailable
이 요청은 일시적으로 서버가 과부하 상태이거나 점검중이기 때문에 현재 요청을 처리할 수 없음. 이 상태가 일시적일 수 있기 때문에, 클라이언트 측에서 3번 정도의 Retry 처리를 하는 경우도 있다.
🕵️클라이언트 : (요청 날림)
🤖서버 : “미안, 좀 바빠”
4. HTTP 메서드:
- 보통 요청의 의도를 나타냄, GET은 존재하는 자원에 대한 요청을, POST는 새로운 자원을 생성하는 요청, PUT은 존재하는 자원을 수정하는 요청, DELETE는 존재하는 자원을 삭제하는 요청을 나타낸다.
- REST (Representational State Transfer) : 웹 기반 응용 프로그램 간의 통신을 위한 아키텍처 스타일
- RESTful API : REST스타일에 따라 설계된 API로 관련 메서드를 통해 CRUD(Create, Read, Update, Delete) 기능을 수행한다.
RESTful API 관련 메서드
- GET : 리소스의 조회 및 검색에 사용 (Read 에 사용)
- query 문자열을 통해 매개 변수를 전달할 수 있다.
- POST: 리소스를 생성 또는 업데이트 하는데 사용 (Create에 사용)
- HTML form을 통해 데이터를 전송하며, 요청 본문에 데이터가 포함된다
- PUT : 리소스를 생성하거나 업데이트 한다, 리소스의 전체 업데이트에 사용 (Update에 사용)
- 서버에 특정 리소스를 제공하고 기존 리소스가 있으면 전체 업데이트
- 없으면 새로운 리소스 생성
- PATCH : 리소스의 부분적인 업데이트를 수행 (Update 에 사용)
- PUT과 유사하지만 리소스의 일부분만 업데이트 한다는 점이 다르다
- DELETE : 지정된 리소스를 삭제 (Delete 에 사용)
- 서버에서 특정 리소스를 삭제하도록 요청
- 정상적으로 삭제되면 200 OK 또는 204 No Content와 같은 응답이 반환된다
- GET : 리소스의 조회 및 검색에 사용 (Read 에 사용)
5. 오늘의 소감/ 떠오르는 생각:
- 나름대로 CS 공부를 계속 해왔다고 생각했는데, 설명하다 보니 내 부족함이 보였다!
(추가적인 공부와 함께 이 부분도 연습이 필요할 듯)
Uploaded by N2T
'Dev > ESTsoft 오르미' 카테고리의 다른 글
CSS2 (Position & Flex) (0) | 2024.02.22 |
---|---|
CSS1 (기초 & CSS Box Model) (0) | 2024.02.22 |
HTML_2 (form, table) (1) | 2024.02.22 |
HTML_1 (기본개념) (0) | 2024.02.22 |
GIT & GITHUB (0) | 2024.02.22 |