HTTP - 기초정리

김종민·2023년 3월 11일
0

HTTP란

  • 클라이언트와 서버의 데이터전송 프로토콜(규칙)
  • HTTP는 클라이언트의 요청을 받고 서버가 응답을하면 그 연결을 끊어버려서 서버는 매 요청시 사용자가 누군지 확인해야하는 단점이있다. 이를 보완하기 위해 쿠키와 웹스토리지를 사용한다.

HTTPS

  • HTTPS는 SSL 의 껍질을 덮어쓴 HTTP 라고 할 수 있다. 즉, HTTPS 는 새로운 애플리케이션 계층의 프로토콜이 아니라는 것이다. HTTP 통신하는 소켓 부분을 SSL(Secure Socket Layer) or TLS(Transport Layer Security)라는 프로토콜로 대체하는 것 뿐이다. HTTP 는 원래 TCP 와 직접 통신했지만, HTTPS 에서 HTTP 는 SSL 과 통신하고 SSL 이 TCP 와 통신 하게 된다. SSL 을 사용한 HTTPS 는 암호화와 증명서, 안전성 보호를 이용할 수 있게 된다.

HTTPS 의 SSL 에서는 공통키 암호화 방식과 공개키 암호화 방식을 혼합한 하이브리드 암호 시스템을 사용한다. 공통키를 공개키 암호화 방식으로 교환한 다음에 다음부터의 통신은 공통키 암호를 사용하는 방식이다.

HTTP 특징

  1. 클라이언트 서버 구조

    • 클라이언트의 요청이 있어야만 서버에서 응답을 해준다.
  2. 무상태 프로토콜(스테이스리스)

    • 클라이언트 요청 후 서버가 응답 후 서버가 클라이언트 상태를 유지하지 않는다
    • 클라이언트 상태를 유지하지 않으므로 요청이 증가해도 서버가 대응하기 쉽다. -> 응답 서버를 쉽게 바꿀 수 있으므로 무한한 서버 증설이 가능
    • 단 , 로그인과 같이 상태를 유지해야하는 경우가 있다.
  3. 비연결성

    • 서버는 응답 후 클라이언트와 연결을 끊는다.
    • 이 때문에 서버 자원을 효율적으로 사용할 수 있다.(동시접속자가 많아도 실제 동시에 처리되는 작업은 동시접속자 수 보다 적음)
    • 단 , 3 way handshake가 매번 발생한다.

HTTP Header

  • 헤더는 body 및 res/req에 대한 정보를 포함한다.
  1. 일반헤더
  • body컨테츠와 관련이 없고 res/req 생성된 날짜 및 시간등 일반적인 정보가 포함된다.
  1. 요청 / 응답 헤더
  • 요청항 URL , 메소드 등 정보가 포함된다.
  1. 엔티티 헤더
  • body 데이터를 해설할 수 있는 정보가 포함된다.

HTTMP Body

  • 메세지 본문을 통해 데이터를 전달하며 메세지 본문을 payload라 한다.

URL/URI

  • URI : 자원의 식별자
  • URL : 자원의 위치로 자원을 식별
  • URN : 고유한 이름으로 자원을 식별
https://www.min.kr/kim?name=1234

https~kim 까지가 URL
www~1234 까지가 URN
전체주소가 URI
profile
개발을 합시다 :)

0개의 댓글