나만의 학습 기록

최종 목적은 기술 블로그💩

백엔드 공부

인터넷의 이해 1 - HTTP에 대해

밈밍민믹 2025. 7. 24. 01:40

예전에 작성한 글이네요. 지금 추가된 내용 중에 HTTP에 대한 이해에 더욱 도움이 될 내용들이 있어서 추가합니다. API 내용에도 HTTP가 포함되니 링크된 내용을 먼저 보시는게 도움이 될 것 같습니다.

https://0110020321.tistory.com/31

 

API(1) - API란 무엇인가

안녕하세요. 저번주까지는 햇빛이 쨍쨍하니 예쁜 날이 지속되었는데, 이번주는 월요일부터 날이 흐리네요. 갑자기 추워진 것 같아요.저번 시간에는 인덱스와 작동원리를 마지막으로 더 깊은 데

0110020321.tistory.com

 


HTTP 메서드

클라이언트와 서버 사이에 이루어지는 요청과 응답 데이터를 전송하는 방식으로, 서버에 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정하는 방법.

 

HTTP 요청 메서드

1. GET(리소스 조회)

- 만약 틀 서버에 전달하고 싶은 데이터는 쿼리스트링을 통해서 전달

- 쿼리스트링 외에 메시지 바디를 사용해서 데이터를 전달할 수 있지만, 서버에서 따로 구성해야 되기 때문에 지원하지 않는 곳이 많아서 권장하지 않음

- 조회할 때 POST도 사용할 수 있지만, GET 메서드는 캐싱이 가능하기에 GET을 사용하는 것이 유리

 

(1) 정적 조회 과정

클라이언트에서 /members/100으로 100번 멤버를 조회 정보 GET 요청
서버에서는 요청 메시지를 분석해 내부의 유저 정보를 조회한 뒤 결과 Response를 만듦
서버에서 클라이언트로 응답을 해주며 클라이언트에서 정상적으로 받을 경우 200OK status를 갖게되며, 회원정보를 얻게됨

 

(2) 동적 데이터 조회 과정

요청 URL 뒤에 ?q=hello&hi=ko 쿼리 파라미터를 줘서 상세한 조회 데이터를 얻게됨

 

 

2. POST(생성)

- 전달한 데이터 처리 / 생성 요청 메서드

- 메시지 바디를 통해 서버로 요청 데이터 전달하면 서버는 요청 데이터를 처리하여 업데이트

- 전달된 데이터로 주로 신규 리소스 등록, 프로세스 처리에 사용 

(1) JSON 데이터 전송 과정

클라이언트는 body에 등록할 회원 정보를 JSON 형태로 만들어 담고 서버로 전송
서버에서는 받은 메시지를 분석해 로직대로 처리한다. 예를 들어 데이터베이스에 등록하고 신규 아이디를 생성
신규 회원에 대한 데이터를 바디에 담아서 클라이언트로 응답(신규 생성에 대한 200 또는 201 응답)

 

이 외에 다양한(DELETE, PUT 등) 요청 메서드가 존재한다. GET과 POST를 이해했다면 나머지도 실제 사용을 통해, 충분히 이해될 것이라고 생각한다.

 

 

HTTP의 상태 코드

# 100번대

- 데이터의 일부를 서버가 받은 상태(처리중인 상태)

 

# 200번대 : 정상적인 처리 후 응답

200 : OK, 에러 없이 정상 처리

204 : 정상 처리 되었지만 서버에 보낼 데이터가 없음

 

# 300번대 : 다른 URL 처리

301 : 요청한 URL이 새로 변경됨

304 : 기존의 데이터와 변경된 것 없음

 

# 400번대 : 클라이언트 오류

400 : 요청에 문제가 있기에 서버에서 인식 불가

403 : 서버에서 허락하지 않음(권한 문제)

404 : 요청 URL을 찾을 수 없음

406 : 전송 방식이 허락되지 않음

 

# 500번대 : 서버 오류

500 : 서버에서 처리 시 문제가 발생

502 : 게이트웨이, 프록시 상태 문제(과부하)

503 : 일시적인 서비스 중단 상태

504 : 지정된 처리 시간이 지나 처리되지 못한 경우

 

이상으로 HTTP에 대해 간략하게 알아보았습니다.