HTTP

2024. 6. 3. 01:05CS/네트워크

참고 자료 : 널널한 개발자님의 외워서 끝내는 네트워크 핵심이론 - 기초

 

HTTP는 HTML문서를 전송 받기 위해 만들어진 응용 프로그램 계층(L7) 통신 프로토콜이다.

기본적으로 클라이언트의 요청에 대응하는 응답형식으로 작동한다.

 

L3에서 IP Packet, L4에서 Segment, 그리고 L5계층 이상으로 올라오면 Socket을 거쳐 Stream으로 데이터 단위가 변화한다.

이 Strem은 Packet과 Segment처럼 일정한 단위를 가지고 나눈 데이터가 아닌 연속적인 데이터의 형태이다.

그렇기에 데이터의 시작점부터 어디까지가 끝인지를 알아야하는데 HTTP에 명시되어있다.

 

HTTP는 헤더와 페이로드가 문자열로 구현되어있다.

크롬 브라우저의 검사 기능을 활용하면 HTTP의 헤더와 페이로드를 확인할 수 있다.

헤더를 요청 헤더와 응답 헤더로 나눌 수 있는데 HTML 문서를 요청하고 응답하는 것이다.

 

그리고 Request Method에 GET이라는 것을 확인할 수 있다. HTTP method에는 여러가지가 있는데 CRUD를 위해 자주 사용하는 메서드는 다음과 같다. GET은 download의 특징이라면 POST는 upload의 특징이 있다.(파일 업로드, 아이디 입력)

HTTP 요청 메서드 종류 목적 페이로드
GET index/retrieve 모든/특정 리소스 취득 X
POST create 리소스 생성 O
PUT replace 리소스의 전체 교체 O
PATCH modify 리소스의 일부 수정 O
DELETE delete 모든/특정 리소스 삭제 X

 

그리고 위의 사진에 Status Code라고 되어있고 200이라는 숫자가 있다. 이것은 HTTP 응답 코드이고 응답 코드에는 아래와 같은 종류가 있다. 개발하면서 400과 500을 많이 보았던 경험이 떠올랐다.

  • 200 OK : 요청이 정상 처리됨
  • 201 Create : 요청에 대한 새로운 자원을 생성하는데 성공함
  • 301 : Moved permanently
  • 302 : Found
  • 400 Bad request : HTTP 규약에 맞지 않는 요청
  • 403 Forbidden : 권한이 없거나 잘못된 파일 실행, 접근 시도
  • 404 Not found
  • 500 Internal Server error : 내부 서버 오류 때문에 요청을 처리할 수 없음

'CS > 네트워크' 카테고리의 다른 글

✨웹 서비스 구조 기본 이론  (1) 2024.06.03
URL과 URI  (1) 2024.06.03
DNS  (0) 2024.06.02
L4 ▶ TCP 연결이라는 착각  (1) 2024.06.02
L4 ▶ TCP Header / UDP Header  (0) 2024.06.02