HTTP 5

[HTTP] RESTful

1. REST - Representational State Transfer 서버와 클라이언트 간 통신 방식 중 하나로, 자원을 이름으로 구분하여 자원의 상태를 주고받는다. HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)를 명시하고, HTTP Method(POST, GET, PUT, DELETE, PATCH)등을 통해 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미한다. 자원의 표현 URI REST에서 자원을 구분하고 처리하기 위해 사용 URI를 잘 네이밍할수록 API가 직관적이고 사용하기 쉽다 ex) /books, /join singleton and Collection Resources URI는 singleton이나 collec..

HTTP 2023.01.31

[HTTP] 암호화와 HTTPS

HTTP의 문제점 HTTP는 암호화되어있지 않다. 따라서 누군가가 서버-클라이언트 간의 http 메시지를 볼 수 있다. 즉, 보안에 취약하다. 1. HTTPS - Hypertext Transfer Protocol Secure SSL/TSL를 이용한 HTTP 통신 SSL(Secure Socket Layer) : 전송되는 데이터를 암호화 현재는 TSL(Transport Layer Security)로 발전되어 두 단어를 혼용해서 사용한다. 클라이언트가 서버에 보내는 정보들을 암호화하기 때문에 보안에 유리하다. 클라이언트는 접속한 사이트가 신뢰할만한 사이트인지 알 수 있다. 1-1. 암호화 기본 개념 공개키(Public Key)와 비밀키(Private Key) : 공개키는 모두가 볼 수 있는 키이며 비밀키는 소..

HTTP 2023.01.31

[HTTP] 트랜스포트 계층

1. 트랜스포트 계층의 역할 트랜스포트 계층의 역할은 수신지의 애플리케이션에 데이터를 전달하는 것이다. 할당된 포트 번호를 참고하여 데이터를 애플리케이션에 전달한다. TCP : 수신지에 데이터가 정확하게 전달되도록 전송 속도를 조절하거나 도달하지 않은 데이터를 재전송한다. UDP : VoIP나 동영상 스트리밍 서비스와 같이 실시간 통신이 필요하다면 전송속도를 중시하는 UDP사용. 별다른 처리를 하지 않는 대신 전송속도가 빠르다. 2. TCP가 정확하게 데이터를 전달하는 방법 TCP는 데이터 전송에 신뢰성을 더하기 위해 데이터를 세그먼트 단위로 분할하고, 전송 속도를 조정하며, 데이터가 제대로 전달되지 않았을 경우 재전송을 한다. TCP의 세그먼트는 데이터 본체에 TCP 헤더가 붙은 형태로 구성된다. TC..

HTTP 2023.01.31

[HTTP] 네트워크 서비스와 애플리케이션 계층

1. 애플리케이션 계층의 역할 사용자가 직접 사용하는 프로토콜 HTTP - 웹 클라이언트와 웹 서버 사이에서 웹 페이지 데이터를 주고받는다 POP, SMTP, IMAP - 메일을 송수신하고 보관한다 SMB, AFP - LAN안에서 파일을 공유한다 FTP - 서버를 통해 파일을 주고받는다 Telnet, SSH - 원격에서 서버를 제어한다 사용자가 간접 사용하는 프로토콜 NTP : 네트워크에 연결된 장비들의 시스템 시간을 동기화할 때 사용 웹 페이지를 전송하는 HTTP HTTP : HTML + 화면 구성에 필요한 각종 파일들의 정보 HTTP 요청과 URL 특정 웹 페이지를 받아보기 위해서는 HTTP 요청을 보내야 하는데, 이때 URL이라는 문자열을 이용한다. URI와 URL URI (Uniform Resou..

HTTP 2023.01.30

[HTTP] 컴퓨터 네트워크

0. 컴퓨터 네트워크 네트워크 4계층 애플리케이션 계층 - HTTP, FTP 전송 계층 - TCP, UDP 인터넷 계층 - IP 네트워크 인터페이스 계층 애플리케이션 계층 사용자가 실제로 체감할 수 있는 서비스를 제공한다. (ex. 프로그램 : 웹 브라우저, 웹 서버) 애플리케이션 계층의 프로그램은 데이터의 내용을 보고 그에 맞는 서비스를 처리한다. 보고싶은 웹 페이지의 URL을 클라이언트 PC가 요청하면, 웹 서버 컴퓨터에서 웹 페이지의 HTML 데이터를 응답한다. 클라이언트는 응답으로 받은 데이터를 해석하여 웹 페이지 형태로 표시한다. (데이터 전송은 하위 계층에 위임) 트랜스포트 계층 애플리케이션 계층에서 전달받은 데이터를 목적지 애플리케이션 계층의 프로그램까지 전달 어떤 프로그램들이 서로 통신을 ..

HTTP 2023.01.30