구리구리구리

[기술면접] CS면접 - 네트워크 본문

기타

[기술면접] CS면접 - 네트워크

guriguriguri 2021. 11. 23. 02:16

공부한 것을 바탕으로 정리하는 것이지만 잘못된 부분이 있을 수 있습니다. 오류는 댓글로 알려주시면 감사하겠습니다!

 

GET, POST 차이

GET

  • 데이터 조회를 목적으로 하며, HTTP header URL에 Query String 형태로 데이터를 전송하는 방식
  • url에 데이터를 담기에 길이가 제한적이며 보안에 취약하다.

POST

  • 데이터 추가 목적으로 사용되며 HTTP Body에 데이터를 추가하여 전송하는 방식
  • GET 방식보다 데이터 크기를 크게 할 수 있으며 보안적으로 더 나음
  • 속도가 GET 방식보다 비교적 느림

 

HTTP 프로토콜이란?

  • Hyper Text Transfer Protocol의 약자로 서버, 클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜
  • 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동
  • 상태를 가지지 않는 stateless 프로토콜
  • Method, Path, Version, Header, Body 등으로 구성

HTTP VS HTTPS

  • http는 평문 데이터를 전송하는 프로토콜로 비밀번호, 주민번호 등 개인정보를 주고 받을시 제 3자에 의해 노출될 가능성이 있음
  • https는 데이터 암호화 + http로 공개키/개인키 암호화 방식을 이용해 데이터를 암호화하며 네트워크상에서 제 3자가 정보를 볼 수 없도록 함

 

웹 동작 방식

  1. 사용자는 브라우저에 URL을 입력
  2. 브라우저는 DNS를 통해 서버의 진짜 주소를 찾음
  3. HTTP 프로토콜을 사용해 HTTP 요청 메세지 생성
  4. TCP / IP 연결을 통해 HTTP 요청이 서버로 전송
  5. 서버는 HTTP 프로토콜을 활용해 HTTP 응답 메세지 생성
  6. TCP / IP 연결을 통해 요청한 컴퓨터로 응답 메세지를 전송
  7. 도착한 HTTP 응답 메세지는 웹 페이지 데이터로 변환되고, 웹 브라우저에 의해 출력되어 사용자가 볼 수 있음