HTTP

loong·2024년 10월 12일

Network

목록 보기
1/3
post-thumbnail

HTTP란?

Hypertext Transfer protocol의 약자로, 웹에서 클라이언트와 서버 간에 데이터를 주고받는 통신 규약이다.
이는 인터넷의 기본적인 통신 방법이며 주로 웹페이지, 이미지, 동영상 같은 리소스를 주고 받을 때 사용된다!

HTTP의 특징

무상태성(Stateless)

HTTP는 상태를 유지하지 않는다. 즉, 한 번의 요청과 응답이 완료되면 서버는 그 이전의 요청에 대한 정보를 기억하지 않는다. 이를 해결하기 위해 쿠키나 세션 같은 기술이 추가적으로 사용된다.

요청과 응답

HTTP는 클라이언트가 요청을 보내면 서버가 그에 대한 응답을 하는 구조로 작동한다. 클라이언트는 요청에 원하는 리소스(URL)와 요청 메서드(예 : GET , POST)를 포함해 서버에 보낸다.

HTTP의 주요 기능

HTTP는 다양한 메서드를 사용해 클라이언트가 서버에 원하는 동작을 요청한다.

  • GET : 데이터 조회
  • POST : 데이터 전송
  • PUT : 서버에 있는 리소스 수정
  • DELETE : 서버에 있는 리소스 삭제
  • PATCH : 리소스의 일부만 수정

리소스와 데이터는 같은 건가?

이는 비슷하게 느껴질 수 있지만, 엄밀히 따지면 다르다!

  • 리소스 : 서버에서 제공하는 특정한 자원
    ex) 웹페이지, 이미지, API 엔드포인트
  • 데이터 : 서버와 클라이언트 간에 주고받는 정보
    ex) 서버가 반환하는 json 형식의 사용자 정보

상태 코드

서버가 클라이언트 요청에 대해 어떤 결과인지 나타내는 3자리 숫자로 응답한다.

  • 200번대 : 성공
  • 300번대 : 리디렉션
  • 400번대 : 클라이언트 오류(흔히 접했던 404 Not Found가 이에 해당!)
  • 500번대 : 서버 오류

헤더

요청과 응답에 대한 부가적인 정보(예 : 클라이언트 정보, 데이터 형식)를 전달한다.

  • 요청 헤더 : User-Agent, Accept, Authorization 등
  • 응답 헤더 : Content-Type, Set-Cookie 등
profile
안녕하시와요

0개의 댓글