HTTP(Hyper Text Transfer Protocol)란? 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜이다. TCP/IP 기반으로 작동하며 가장 큰 특징은 Connectionless와 Stateless 이다. 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약으로, 80번 포트를 사용하고 있다. 따라서 HTTP 서버가 80번 포트에서 요청을 기다리고 있으며, 클라이언트는 80번 포트로 요청을 보내게 된다. HTTP의 구조 클라이언트가 HTTP request를 보내면 서버는 HTTP response를 클라이언트에 보내는 구조이다. request message start line(method, path, HTTP version), headers, body로 이루어져 있고 respons..
3 Way-Handshake란? 전송제어 프로토콜(TCP)에서 통신을 하는 장치간 서로 연결이 잘 되어있는지 확인하는 과정/방식이다. 더 쉽게 말해서 송수신자 사이에 연결을 확인하는 과정이다. TCP 프로토콜은 연결지향적이다. 이는 상대방이 내 신호를 받을 수 있는지 확인하고 전송을 하는 것을 의미한다. 이때 내 신호를 받을 수 있는 지 확인하는 것이 3 way handshake이다. #1 SYN 1단계: 들려? 클라이언트가 연결요청 메시지(SYN)을 전송한다. 클라이언트는 Synchronize Sequence Number(SYN)라는 임의의 랜덤 숫자를 함께 전송한다. #2 SYN+ACK 2단계: 응 들려! 너도 들려? 서버가 요청을 수락하며, 클라이언트에게도 들리냐는 연결요청 메시지를 전송한다. 그 ..
TCP(Transmission Control Protocol) IP 프로토콜 위에서 연결형 서비스를 지원하는 전송계층 프로토콜, 인터넷 환경에서 기본으로 사용한다. 3-way handshaking 과정을 통해 연결을 설정하고 4-way handshaking 과정을 통해 연결을 해제한다. 데이터가 전달될 때 수신이 가능한지, 데이터가 잘 갔는지 확인하는 과정을 거치면서 오류와 흐름을 제어하고 신뢰성 있는 데이터가 전달될 수 있도록 한다. 중간 확인 과정이 추가되고 연결을 유지하는 과정에서 추가 리소스가 발생한다. 안정적으로, 순서대로, 에러없이 교환 가능 전이중(Full Duplex) 방식의 양방향 가상 회선 지원 신뢰성 있는 데이터 전송 보장 흐름제어 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우..
OSI 7계층과 TCP/IP 4계층 OSI 7계층은 네트워크 통신을 표준화한 모델로, 통신 시스템을 7단계로 나누어 설명한 것이다. 하지만 OSI 모델이 실무적으로 이용하기에 복잡한 탓에 실제 인터넷에서는 이를 단순화한 TCP/IP 4계층이 사용되고 있다. 각 계층은 하위 계층의 기능을 이용하고, 상위 계층에게 기능을 제공한다. OSI 7계층 응용 계층(Application Layer): User Interface를 제공하는 계층 사용자와 가장 가까운 계층으로 응용 서비스나 프로세스가 바로 이 계층에서 동작한다. HTTP, FTP 같은 통신 프로토콜도 여기에 속한다. 표현 계층(Presentation Layer): 데이터의 변환 작업을 하는 계층 응용프로그램이나 네트워크를 위해 데이터를 표현하는 것 데이..
객체지향 프로그래밍이란? Object-Oriented Programming, OOP 프로그래밍에서 필요한 데이터를 추상화 시켜, 상태와 행위를 가진 객체로 만들고, 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법 💡 간단히 말하면, 실제 세계를 모델링하여 소프트웨어를 개발하는 방법! 데이터와 절차를 하나의 덩어리로 묶어서 생각하게 된다. 컴퓨터 부품을 하나씩 사다가 컴퓨터를 조립하는 것과 같은 방법이다 클래스 속성과 행위를 변수와 메서드로 정의한 것 인스턴스(객체) 클래스에서 정의한 것을 토대로 실제 메모리에 할당된 것으로 실제 프로그램에서 사용되는 데이터 객체 지향 프로그래밍에서 추상화(자료의 추상화) 클래스를 설계하는 것 자체를 의미 공통의 속성이나 기능을 묶어 이름을 붙이는 것 객체 지향..
'모바일'이라는 새로운 웹 접근 환경의 등장 새로운 모바일 웹 환경이 PC를 기반으로 한 데스크톱 웹 환경을 빠르게 대체 웹 기술의 발전 웹 서비스 제공 방식의 변화 데이터 중심의 웹 -> 서비스 중심의 웹 웹 패러다임의 진화 웹 1.0 포털 중심의 웹의 시대 일방적으로 정보를 제공 웹 2.0 플랫폼 중심의 웹 시대 정보의 생성, 공유, 참여가 가능 -> 유튜브나 위키피디아 웹 3.0 웹이 모든 환경의 플랫폼이 되는 시대 원하는 정보를 찾아 개인별 맞춤 서비스가 가능 웹 패러다임의 변화 웹 언어의 발전 웹 마크업 언어의 발전 마크업 문서 내용 자체가 아닌 내용에 관한 크기와 모양, 표시 위치와 같은 부가적인 정보 웹 마크업 언어의 종류 HTML5 사양 HTML5의 발전 방향 웹 브라우저라는 플랫폼 위에서..