http 프로토콜에 대한 개념 정리하기

http 프로토콜에 대한 개념 정리하기

http 프로토콜

HTTP(하이퍼텍스트 전송 프로토콜, HyperText Transfer Protocol)는 웹 상에서 정보를 주고받기 위한 프로토콜로, 클라이언트와 서버 간의 통신이 가능하다. HTTP는 인터넷 상에서 가장 널리 사용되는 프로토콜 중 하나로, 웹 브라우저와 웹 서버 간의 데이터를 교환하는 데 사용된다.

http 프로토콜의 주요 특징

  1. 클라이언트-서버 모델
    • 클라이언트(웹 브라우저 등)가 서버(웹 서버)에 요청(request)을 보내면, 서버는 요청에 대한 응답(response)을 반환한다.
  2. 무상태 프로토콜(Stateless Protocol)
    • 각 요청은 서로 독립적이며, 이전 요청과 다음 요청 간의 연관성을 유지하지 않는다. 서버는 클라이언트의 상태를 저장하지 않으며, 매 요청마다 새로운 연결을 수립한다.
  3. 비연결형(Connectionless)
    • 클라이언트가 요청을 보내고 서버가 응답을 반환하면, 그 연결은 끊어지는데, 이후 요청을 위해 새로운 연결을 생성한다. HTTP/1.1에서는 이를 보완하기 위해 지속 연결(persistent connection)을 도입했다.
  4. 요청과 응답(Request and Response)
    • HTTP 통신은 요청(request)과 응답(response)으로 구성된다. 클라이언트는 서버에 특정 리소스를 요청하고, 서버는 그 요청에 대한 응답을 반환한다.
      • 요청: 요청 메서드, URL, 헤더, 바디로 구성
      • 응답: 상태 코드, 헤더, 바디로 구성
  5. URI(Uniform Resource Identifier)
    • HTTP는 리소스를 식별하기 위해 URI를 사용한다.
    • URI는 URL(Uniform Resource Locator)과 URN(Uniform Resource Name)을 포함한다.
  6. 요청 메서드
    • HTTP는 다양한 요청 메서드를 지원하는데, 대표적인 메서드로는 GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH 등이 있다.
      • GET: 서버에서 리소스 요청
      • POST: 서버에 데이터를 제출해 리소스를 생성하거나 업데이트
      • PUT: 서버에 데이터를 제출해 리소스를 생성하거나 대체
      • DELETE: 서버에서 리소스 삭제
  7. 상태 코드(Status Codes)
    • HTTP 응답에는 요청의 성공 여부를 나타내는 상태 코드가 포함된다. 상태 코드는 3자리 숫자로 구성되며, 1xx(정보), 2xx(성공), 3xx(리다이렉션), 4xx(클라이언트 오류), 5xx(서버 오류)로 분류된다.
      • 200 OK: 요청을 성공적으로 처리
      • 404 Not Found: 요청한 리소스를 찾을 수 없음
      • 500 Internal Server Error: 서버에서 오류 발생
  8. 확장성
    • HTTP는 확장성이 뛰어나며, 새로운 기능을 추가하기 위해 확장이 가능합니다. 예를 들어, 쿠키(Cookie), 세션(Session), 캐싱(Caching) 등의 메커니즘을 통해 HTTP의 기능을 확장할 수 있다.
  9. 보안
    • HTTP 자체는 보안이 제공되지 않는 프로토콜입니다. 그러나 HTTPS(HyperText Transfer Protocol Secure)를 사용하여 SSL/TLS 암호화를 통해 보안을 강화할 수 있다. HTTPS는 HTTP 통신을 암호화하여 데이터의 기밀성과 무결성을 보장한다.
judy

About judy

junior BE

Comments

comments powered by Disqus