
Application Layer, 응용 계층 Application Layer은 OSI의 최상위 계층으로, 사용자 또는 애플리케이션이 네트워크에 접근할 수 있도록 해준다. 이는 사용자에게 보이는 유일한 계층으로, 메일 전송, 인터넷 접속 등의 작업을 수행한다. 사용되는 프로토콜으로는 HTTP, SMTP, SNMP, FTP, Telnet 등이 있다. 쉽게 말해 최종 사용자에게 가장 가까운 계층이며, 상호작용을 한다. 구글 크롬, 파이어폭스, 사파리 같은 웹브라우저 혹은 디스코드, 아웃룩 같은 응용 프로그램이 대표적이다. HTTP HTTP의 역사 가장 많이 사용하고 중요한 버전은 1.1 버전이며, 2 버전과 3 버전은 성능 개선에 초점을 맞추어 업그레이드 된 버전이다. 1.1 버전과 2 버전은 TCP, 3 버..

Swagger Swagger는 RESTful API를 설계, 문서화 및 사용하는 데 도움을 주는 오픈 소스 소프트웨어 프레임워크입니다. 개발자는 OpenAPI 사양(이전에는 Swagger 사양이라 불렸음)을 사용하여 기계가 읽을 수 있는 형식으로 API를 설명할 수 있습니다. OpenAPI 사양은 RESTful API를 설명하는 표준으로서 다양한 도구와 플랫폼 간의 상호 운용성을 제공합니다. Swagger를 사용하면 개발자는 API의 엔드포인트, 매개변수, 응답 및 기타 세부 정보를 설명하는 Swagger 파일을 작성할 수 있습니다. 이 파일은 자동으로 문서화를 생성하는 데 사용될 수 있으며, 이를 통해 개발자 및 사용자가 API를 사용하는 방법을 이해할 수 있습니다. 또한 Swagger를 사용하여 다양..

HTTP 헤더 헤더 형식 : field-name은 대소문자를 구분하지 않는다. 용도 HTTP 전송에 필요한 모든 부가정보 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시관리 정보 등등... 필요시 임의의 헤더를 추가할 수 있다 helloworld: hihi 헤더 분류 RFC2616(과거에 사용) General headers : 메시지 전체에 적용되는 헤더 body를 통해 전송되는 데이터와는 관련이 없다. Request headers : fetch를 통해 가져올 리소스나 클라이언트 자체에 대한 자세한 정보를 포함하는 헤더 Referer처럼 컨텍스트를 제공하거나 If-None과 같이 조건에 따라 제약을 추가할 수 있다. Entity headers : body에 담..

Cookie 쿠키는 서버에서 클라이언트에 데이터를 저장하는 방법의 하나이다. 서버가 원한다면 서버에서 클라이언트에 쿠키를 전송할 수 있고, 클라이언트에서 서버로 쿠키를 전송할 수도 있다. 즉, 서버가 클라이언트에 데이터를 저장할 수 있고, 원할 때 이 데이터를 다시 불러와 사용할 수 있다. 하지만 데이터를 저장한 이후 특정 조건들을 만족하는 경우에만 다시 가져올 수 있고, 이런 조건들은 쿠키 옵션으로 표현한다. 쿠키 옵션 Domain 쿠키 옵션에서 도메인은 포트 및 서브 도메인 정보, 세부 경로를 포함하지 않는 메인 도메인만을 의미한다. 쿠키 옵션에서 도메인 정보가 존재한다면 클라이언트에서는 쿠키의 도메인 옵션과 서버의 도메인이 일치해야만 쿠키를 전송할 수 있다. Path 세부 경로는 서버가 라우팅할 때..

HTTP를 사용하는 클라이언트-서버 아키텍처 HTTP (Hypertext Transfer Protocol)는 클라이언트와 서버 간에 데이터를 전송하는 데 사용되는 프로토콜이다. 클라이언트-서버 아키텍처는 네트워크 상에서 프로그램 구성을 위한 일반적인 방법이며 이 아키텍처는 클라이언트와 서버 사이에서 역할을 분담하여 각각의 역할에 집중할 수 있도록 한다. 클라이언트 사용자가 요청을 생성하고 보내는 프로그램 웹 브라우저는 HTTP 요청을 생성하고 보낸다. 클라이언트는 서버에서 요청한 데이터를 수신하고 적절한 방식으로 해석하여 사용자에게 보여준다. 서버 클라이언트 요청에 응답하는 프로그램 서버는 요청을 받아들이고 적절한 데이터를 찾은 다음, 클라이언트에게 응답을 보낸다. 서버는 웹 페이지를 반환하거나 데이터베..
Https가 뭐고 왜 쓰나요? Https (H:yper - T:ext T:ransfer P:rotocol S:ecure) Https를 사용하는 이유 - HTTP 를 쓸 때 - 클라이언트에서 로그인을 할 때 아이디와 비밀번호 등의 값이 서버로 전송됨 - 그냥 HTTP를 쓰게 되면 이 암호가 입력한 텍스트 그대로, 누구든 알아볼 수 있는 형식으로 보내짐 (누군가가 들여다본다면 알 수 있음) - HTTPS 를 쓸 때 - 클라이언트에서 로그인을 할 때 아이디와 비밀번호 등의 값이 뒤죽박죽이 된 텍스트로 변경돼서 실어 보내짐 (아무나 알아 볼 수 없음) 다른 이유로는, 우리가 접속한 사이트가 진품인지, 신뢰 할 수 있는 사이트인지를 판별 해줌. - 피싱 사이트 해킹 피해를 걸러낼 수 있도록 해줌 - HTTPS 주..