본문 바로가기
DEVLOG/Backend

[HTTP] HTTP 처리 방식에 대해 알아보자

2019. 9. 9.
반응형

HTTP 처리 방식

클라이언트는 HTTP 메소드를 통해서 원하는 처리 방식을 서버에 알려줍니다.

메소드 의미 CRUD와 매핑되는 역할
GET 리소스 취득 Read(조회)
POST 리소스 생성, 리소스 데이터 추가 Create(생성)
PUT 리소스 변경 Update(변경)
DELETE 리소스 삭제 Delete(삭제)
HEAD 리소스의 헤더(메타데이터) 취득  
OPTIONS 리소스가 서포트하는 메소드 취득  
TRACE 루프백 시험에 사용  
CONNECT 프록시 도작의 터널 접속으로 변경  

 

위 8가지 메소드 중, 가장 많이 사용하는 메소드는 GETPOST 2가지입니다. HTML의 폼에서 지정할 수 있는 메소드가 GET과 POST밖에 없기 때문이기도 합니다.

 

GET과 POST

폼에서 사용자가 입력한 데이터들을 서버로 보낼 때, GET과 POST는 그 방식에 차이가 있습니다.

GET http://docs.djangoproject.com/search/?q=forms&release=1 HTTP/1.1
POST http://docs.djangoproject.com/search/ HTTP/1.1
Content-Type: application/x-www-form-urlencoded

q-forms&release=1

URL은 길이 제한이 있기 때문에, GET 방식을 이용하면 많은 양의 데이터를 보내기 어렵습니다. 또한 전달되는 사용자의 데이터가 웹 브라우저의 주소창에 그대로 노출된다는 단점이 있어 보안 측면에서도 불리합니다. 

 

폼을 사용하거나 추가적인 파라미터를 서버로 보내는 경우에는 POST 방식을 많이 사용합니다. 하지만 이런 단점들이 별로 영향을 끼치지 않을 경우에는 GET을 사용해도 괜찮습니다.

 

상태 코드

서버에서 처리 결과는 응답 메시지의 상태라인에 있는 상태 코드를 보고 파악할 수 있습니다. 상태 코드는 세 자리 숫자로 되어 있습니다.

첫 번째 숫자HTTP 응답의 종류를 구분하는데 사용하며, 나머지 두 개의 숫자는 세부적인 응답 내용의 구분을 위한 번호입니다.

 

종류가 워낙 많아서.. 아래 링크를 참고해주세요

 

HTTP 상태 코드 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 아래는 HTTP(하이퍼텍스트 전송 프로토콜) 응답 상태 코드의 목록이다. IANA가 현재 공식 HTTP 상태 코드 레지스트리를 관리하고 있다. 모든 HTTP 응답 코드는 5개의 클래스(분류)로 구분된다. 상태 코드의 첫 번째 숫자는 응답의 클래스를 정의한다. 마지막 두 자리는 클래스나 분류 역할을 하지 않는다. 첫자리에 대한 5가지 값들은 다음과 같다: 1xx (정보): 요청을 받았으며 프로

ko.wikipedia.org

 

반응형

댓글