트랜잭션과 메소드, 상태코드

유영·2023년 5월 2일
0

HTTP

목록 보기
5/22

1. 트랜잭션

클라이언트가 웹 서버와 리소스를 주고받기 위해 http를 어떻게 사용할까?
HTTP 트랜잭션은 요청 명령(클라이언트 -> 서버) 와 응답결과 (서버 -> 클라이언트) 로 나뉜다.
이 상호작용은 "HTTP 메시지" 라고 불리는 정형화된 데이터 덩어리를 통해서 이루어진다.

위 사진과 같은 형태로 상호작용이 이루어진다.


2. 메서드

HTTP 메서드는 여러 가지 종류의 요청명령을 자원한다.
모든 HTTP 요청 메시지는 한 개의 메서드를 가진다.
메서드는 서버에게 어떤 동작이 취해져야 하는지 말한다.
예를 들어, 웹 사이트 가져오기, 게이트웨이 프로그램 실행, 파일 삭제 등과 같은 것이 있다고 보면 된다.
자주 사용되는 http메서드에는 다음과 같은 종류들이 있다.

메서드 종류설명
GET서버에서 클라이언트로 지정한 리소스를 보내라.
PUT클라이언트에서 서버로 보낸 데이터를 지정한 이름의 리소스로 저장하라.
DELETE지정한 리소스를 서버에서 삭제하라..
POST클라이언트 데이터를 서버 게이트웨이 애플리케이션으로 보내라.
HEAD지정한 리소스에 대한 응답에서 HTTP헤더 부분만 보내라.

3. 상태 코드

모든 HTTP 응답 메시지는 상태 코드와 함께 반환된다.
상태 코드는 클라이언트에게 요청이 성공했는지 아니면 추가조치가 필요한지 알려주는 상태코드이다. 그러나 실제 응답처리는 숫자로 된코드가 사용된다.

텍스트설명
200성공(OK)요청 성공
302임시 이동현재 서버가 다른 위치의 페이지로 요청에 응답하고 있지만
요청자는 향후 요청 시 원래 위치를 계속 사용해야 함.
403금지됨(Forbidden)접근 거부
404찾을 수 없음(Not Found)페이지 없음
500내부 서버 오류(Internal Server Error)서버 오류 발생

흔히 쓰이는 상태코드들에는 위와 같은 상태코드들이 있다.


웹 페이지는 여러 객체로 이루어질 수 있는데, 어플리케이션은 보통 하나의 작업수행을 위해 HTTP 트랜잭션을 수행한다.
다시 말해, 웹 페이지는 첨부된 리소스들에 각각 별개의 HTTP 트랜잭션을 필요로 한다는 것이다.

예를 들어, 웹 브라우저는 시각적으로 풍부한 웹 페이지를 가져올 때 대량의 HTTP 트랜잭션을 수행한다. 페이지의 레이아웃을 서술하는 HTML 뼈대를 한 번의 트랜잭션으로 가져오고 첨부된 이미지, 자바 애플릿, 그래픽 조각 등을 가져오기 위해 추가 HTTP 트랜잭션을 수행한다.

0개의 댓글