www.google.com 접속 시 일어나는 일
- 클라이언트로부터 특정 URL로 요청이 들어오면 DNS 서버가 도메인에 매핑되는 IP 주소를 받아와서 클라이언트에게 전달
- 브라우저는 HTTP 프로토콜을 사용하여 요청 메시지를 생성하고 HTTP 요청 메시지는 TCP/IP 프로토콜을 사용하여 서버로 전송합니다
- TCP 계층에서 HTTP 메시지를 패킷으로 분해합니다.
- 그리고 IP 계층에서 전송 위치를 확인하고 네트워크를 통하여 전송합니다.
- 서버는 response 메시지를 생성하여 다시 브라우저에게 데이터를 전송
- 브라우저는 response를 받아 파싱하여 화면에 렌더링한다.
- 받는쪽은 위의 과정을 역순으로 진행하여 처리
HTTP와 TCP의 차이점
- HTTP는 최상위 계층인 application 계층에 동작
- 개념적으로만 봤을 때 HTTP는 TCP/IP 계층 위에 동작하는 거라고 볼 수 있음
- IP 계층에는 출발지 주소와 목적지 주소가 존재 (아파트 주소)
- TCP 계층에는 출발지 포트, 목적지 포트가 존재합니다. (번지, 동)
소켓통신
- http처럼 TCP 기반으로 나옴
- 차이점
- 연결지향 / 동기식 통신이 필요할 때는 소켓 통신 이용!
HTTP
- 분산 하이퍼미디어 환경에서 빠르고 간편하게 데이터를 전송하는 프로토콜
- HTML을 전송하는 통신 프로토콜
HTTPS
- TLS 또는 SSL(전송 계층 보안) 프로토콜 위엥서 동작되며, 웹 사이트 접근 인증과 무결성을 보장함
REST
-
HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미
-
RESTful : REST API를 제공하는 웹 서비스를 RESTful하다고 함
HTTP 응답상태 코드
- 1xx : 전송 프로토콜 수준의 정보 교환
- 2xx : 클라어인트 요청이 성공적으로 수행됨
- 3xx : 클라이언트는 요청을 완료하기 위해 추가적인 행동을 취해야 함
- 4xx : 클라이언트의 잘못된 요청
- 5xx : 서버쪽 오류로 인한 상태코드