RESTful하게 개발한다는 건 뭘까?
·
외부활동/JSCODE 네트워크
RESTful 원칙을 준수하여 개발한다는 건RESTful하게 개발했는지 묻는 질문은 REST 아키텍처 스타일을 잘 이해하고 그것을 기반으로 API를 설계했는지를 묻는 것이다. REST (Representational State Transfer)는 웹의 리소스를 클라이언트와 서버가 주고받는 방식에 대한 설계 원칙입니다. RESTful하게 개발했다는 것은 이 원칙을 따랐다는 의미로, 주로 다음을 만족해야 한다.리소스 기반 설계URI는 리소스를 명확히 나타내야 하며, 명사형으로 표현됩니다.예: /users, /orders/123HTTP 메서드의 적절한 사용CRUD 작업에 맞게 HTTP 메서드를 사용합니다.GET: 데이터 조회POST: 데이터 생성PUT/PATCH: 데이터 수정DELETE: 데이터 삭제상태 없음..
[3주차] REST API, 웹 보안
·
외부활동/JSCODE 네트워크
REST와 RESTful APIREST는 HTTP 프로토콜을 기반으로 리소스를 정의하고 조작하는 아키텍처 스타일RESTful은 이 REST의 원칙을 준수하여 설계된 시스템을 의미예를 들어, 웹 시스템에서 아래와 같이 API를 디자인할 수 있습니다.REST(원칙)로 설계한 기본 아이디어:리소스를 URI로 표현하고, 각 작업을 HTTP 메서드로 구분한다.RESTful API 구현:GET /products → 모든 상품 조회POST /products → 새 상품 추가DELETE /products/{productId} → 특정 상품 삭제따라서 REST는 리소스와 메서드의 원칙을 제공하는 개념이고, RESTful은 이를 준수하려고 설계된 구현 방식이라고 이해할 수 있습니다.URL, URI, URNURI: 리소스를..
[3주차] 쿠키, 세션, 토큰, CORS
·
외부활동/JSCODE 네트워크
쿠키와 세션쿠키HTTP의 일종으로 사용자가 어떠한 웹 사이트를 방문할 경우,그 사이트가 사용하고 있는 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일이다.HTTP에서 클라이언트의 상태 정보를 클라이언트의 PC에 저장하였다가 필요시 정보를 참조하거나 재사용할 수 있다. 사용 예시방문 사이트에서 로그인 시, "아이디와 비밀번호를 저장하시겠습니까?"팝업창을 통해 "오늘 이 창을 다시 보지 않기" 체크세션일정 시간 동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 유지시키는 기술이다.여기서 일정 시간은 방문자가 웹 브라우저를 통해 웹 서버에 접속한 시점부터 웹 브라우저를 종료하여 연결을 끝내는 시점을 말한다.즉, 방문자가 웹 서버에 접속해 있는 상태를 하나의 단위..
[2주차] DNS
·
외부활동/JSCODE 네트워크
⭐️ DNS가 뭔가요?DNS(Domain Name System)는 도메인 이름을 IP 주소로 변환해 주는 시스템입니다. 웹사이트의 URL을 입력하면 DNS 서버가 해당 도메인의 IP 주소를 찾아서 사용자가 올바른 서버에 연결되도록 합니다. 쉽게 말해, 사람이 이해하기 쉬운 도메인 이름을 컴퓨터가 이해할 수 있는 숫자(IP 주소)로 바꿔주는 전화번호부 역할을 합니다. 이 과정 덕분에 사용자는 IP 주소를 기억하지 않아도 쉽게 웹사이트에 접속할 수 있습니다.DNS 작동 방식에 대해 설명해주세요.DNS는 사용자가 도메인 이름을 입력할 때, 이를 IP 주소로 변환해 주는 과정입니다. 먼저 사용자의 요청은 로컬 DNS 서버로 전달되며, 여기서 캐시된 IP가 있으면 바로 반환합니다. 없을 경우 루트 네임 서버로 요..
[2주차] HTTPS
·
외부활동/JSCODE 네트워크
HTTPS에 대해서 설명해주세요.HTTPS는 HyperText Transfer Protocol Secure의 약자로, 웹 통신 프로토콜인 HTTP의 보안 버전을 의미한다. 데이터의 안전한 전송을 위해 사용되며, 웹 사이트와 웹 브라우저 간의 통신을 암호화하여 보호한다.HTTPS는 대칭키 암호화와 공개키 암호화를 조합하여 작동한다. SSL(Secure Socket Layer)이나 TLS(Transport Layer Security) 프로토콜을 통해 세션 데이터를 암호화하며, 기본 TCP/IP 포트는 443이고, SSL 프로토콜 위에서 HTTPS 프로토콜이 동작한다.SSL/TLS이 뭔가요?SSL/TLS는 인터넷 상에서 데이터의 안전한 전송을 위한 암호화 프로토콜입니다. SSL(Secure Sockets La..
[2주차] HTTP
·
외부활동/JSCODE 네트워크
HTTP 프로토콜에 대해서 설명해주세요.HTTP(Hypertext Transfer Protocol)는 웹에서 데이터를 주고받는 서버-클라이언트 모델의 프로토콜입니다. 쉽게 설명하자면 웹 브라우저가 서버와 통신하는 규칙이에요.HTTP의 요청/응답 모델에 대해 설명해주세요.HTTP 요청/응답 모델은 클라이언트와 서버 간의 통신 방식을 말합니다. 클라이언트(예: 웹 브라우저)가 서버에 정보를 요청하면, 서버는 그 요청에 맞는 응답을 보내주는 구조입니다.예를 들어, 사용자가 웹 페이지를 요청하면, 클라이언트가 서버에 HTTP 요청을 보내고, 서버는 그 요청에 따라 HTML 문서나 이미지 파일 등의 데이터를 응답으로 반환합니다. 이처럼 HTTP는 요청과 응답의 단방향성을 특징으로 하는 비연결형 프로토콜입니다.HT..
인터넷과 웹의 차이
·
외부활동/JSCODE 네트워크
인터넷은 전 세계 컴퓨터와 네트워크가 서로 연결된 거대한 네트워크로, 사람들이 정보를 공유하고 소통할 수 있게 해줍니다.웹은 인터넷 위에서 실행되는 서비스로, 우리가 브라우저를 통해 웹 문서와 다양한 정보를 쉽게 접근하고 볼 수 있게 해줍니다.What is the Internet?The Internet is a global network of interconnected computers and networks that communicate with each other, allowing people to connect, share information, and conduct business online.What is the Web?The Web is a system of interconnected reso..
HTTP keep-alive란?
·
외부활동/JSCODE 네트워크
keep-alive란?서버와 클라이언트 간의 연결을 요청마다 닫지 않고 지속적으로 유지하는 방식입니다. HTTP/1.1부터 도입되어, TCP connection을 재사용할 수 있도록 설계되었습니다.HTTP/1.1 기본값: keep-alive 활성화서버 설정 필요: 서버 측 웹 서버에서 keep-alive 설정이 활성화되어 있어야 동작HTTP keep-alive 옵션 설정 방법keep-alive를 사용하려면 HTTP header에 아래와 같이 설정합니다. 서버가 keep-alive를 지원할 경우 response에도 같은 헤더가 포함되며, 지원하지 않을 경우 헤더 없이 응답합니다. 클라이언트는 응답에 헤더가 없으면 connection을 재사용하지 않습니다.HTTP/1.1 200 OKConnection: Ke..
[1주차] 네트워크 기초
·
외부활동/JSCODE 네트워크
컴퓨터 네트워크는 무엇인가요?컴퓨터 네트워크는 컴퓨터간에 서로 연결되어 데이터를 주고 받을 수 있는 통신망입니다.현대에는 월드 와이드 웹(www)이라는 네트워크 통신망에서 주로 HTTP를 사용해 데이터를 주고 받습니다.컴퓨터 네트워크에서 데이터를 전송하는 방식에 대해 설명해주세요.컴퓨터 네트워크에서 데이터를 전송하는 방식은 회선 교환 방식과 패킷 교환 방식이 있습니다. 회선 교환 방식은 일대일 네트워크 연결 회선을 미리 점유해서 데이터 전송을 하는 방식입니다.회선을 점유하는 동안은 다른 컴퓨터가 데이터를 전송할 수 없습니다. 패킷 교환 방식은 데이터를 패킷이라는 작은 단위로 나눠서 전송하는 방식입니다.회선을 점유하지 않기 때문에 여러 컴퓨터들이 데이터 전송을 할때 회선을 효율적으로 사용할 수 있습니다.프..