반응형
HTTP 처리 방식
클라이언트는 HTTP 메소드를 통해서 원하는 처리 방식을 서버에 알려줍니다.
메소드 | 의미 | CRUD와 매핑되는 역할 |
GET | 리소스 취득 | Read(조회) |
POST | 리소스 생성, 리소스 데이터 추가 | Create(생성) |
PUT | 리소스 변경 | Update(변경) |
DELETE | 리소스 삭제 | Delete(삭제) |
HEAD | 리소스의 헤더(메타데이터) 취득 | |
OPTIONS | 리소스가 서포트하는 메소드 취득 | |
TRACE | 루프백 시험에 사용 | |
CONNECT | 프록시 도작의 터널 접속으로 변경 |
위 8가지 메소드 중, 가장 많이 사용하는 메소드는 GET과 POST 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 응답의 종류를 구분하는데 사용하며, 나머지 두 개의 숫자는 세부적인 응답 내용의 구분을 위한 번호입니다.
종류가 워낙 많아서.. 아래 링크를 참고해주세요
반응형
'DEVLOG > Backend' 카테고리의 다른 글
[HTTP] 메시지 구조와 함께 HTTP 프로토콜 이해하기 (1) | 2019.09.09 |
---|---|
웹 프로그래밍(Web Programming)이란 무엇인가 (0) | 2019.09.09 |
댓글