프로그래밍/Backend
HTTP는 누구일까
supernovaMK
2024. 8. 1. 15:26
클라이언트와 서버 간에 데이터를 전송할 때는 다양한 통신 규약,프로토콜을 따른다.
프로토콜은 컴퓨터 간에 원활하게 통신하기 위해 사용하는 전 세계 표준이다. 기기 간에 각종 신호 처리 방법, 오류 처리, 암호, 인증 방식 등을 규정하고 있어 이를 따라야만 오류나 지연없이 통신이 가능하다.
HTTP는 웹 서비스에서 사용하는 프로토콜이다.
HTTP는 클라이언트의 다양한 요청을 , 메서드를 통해 서버로 보내는 역할을 하고 있다. 대표적인 메서드로는
- Post : 데이터 생성 요청
- Get : 데이터 조회 요청
- Patch(Put): 데이터 수정 요청
- Delte : 데이터 삭제 요청
HTTP 상태 코드
HTTP 상태 코드는 클라이언트가 보낸 요청이 성공했는지, 실패했는지 알려주는 코드이다.
- 1XX: 요청이 수신돼 처리 중입니다.
- 2XX: 요청이 정상적으로 처리됐습니다.
- 3XX: 요청을 완료하려면 추가 행동이 필요합니다.
- 4XX: 클라이언트 요청이 잘못 돼 서버가 요청을 수행할 수 없습니다.
- 5XX: 서버 내부에 에러가 발생해 클라이언트 요청에 대해 적절히 수행하지 못했습니다.
HTTP 요청 메시지와 응답 메시지
HTTP의 요청과 응답은 HTTP 메시지에 실려 전송 되게 된다.
- 시작 라인 : HTTP 요청 또는 응답 내용이 있습니다. 시작 라인은 항상 한줄로 끝납니다.
- 헤더 : HTTP 전송에 필요한 부가 정보가 있습니다.
- 빈 라인 :헤더의 끝을 알리는 빈 줄로, 헤더가 모두 전송되었음을 알립니다.
- 본문 : 실제 전송하는 데이터가 있습니다.
요청 메시지
<시작 라인과 헤더>
GET /articles HTTP/1.1 --------- 요청의 종류/URL 경로/사용하는 HTTP 버전
Host: localhost:8080 ---------------호스트 주소
응답 메시지
HTTP 버전과 상태 코드가 주어진다.