Django [파이썬 웹프로그래밍]-2

DONGHYUN KOO·2020년 9월 7일
0

Django-series

목록 보기
2/2

GET과 POST 메소드

  • 현실적으로 가장 많이 사용하는 메소드는 GET과 POST 2가지입니다.
  • 이것은 HTML의 폼에서 지정할 수 있는 메소드가 GET과 POST 밖에 없기 때문

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

GET http://docs.djangoproject.com/search/?q=forms&release= 1 HTTP/1.1

  • GET은 위 예시처럼 URL 부분의 ?뒤에 이름=값 쌍으로 이어 붙여 보냅니다.

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

  • POST에서는 GET에서 URL에 포함시켰던 파라미터들을 위 예시처럼 요청 메시지의 바디에
    넣습니다.

  • GET방식을 이용하면 많은 양의 데이터를 보내기 어렵다(URL길이 제한이 있기 떄문)

  • 전달되는 사용자의 데이터가 웹브라우저의 주소창에 노출되다는 단점(보안측면)

  • 따라서 폼을 사용하거나 추가적인 파라미터를 서버로 보내는 경우에는 GET보다 POST방식을
    많이 사용함(장고 프레임워크에서도 폼의 데이터는 POST 방식만을 사용하고 있음)

상태코드

  • 서버에서의 처리 결과는 응답 메시지의 상태라인에 있는 상태코드를 보고 파악할수 있습니다.
  • 상태코드는 세 자리 숫자로 되어 있는대 첫번쨰 숫자는 HTTP 응답의 종류를 구분하는데 사
    용하며, 나머지 두개의 숫자는 세부적인 응답 내용의 구분을 위한 번호
메소드명의미CRUD와 매핑되는 역할
1XXInformational임시적읜 응답으로,현재 클라이언트의 요청까지 처리되었으니 계속 진행하라는의미
2xxSucess클라이언트의 요청이 서버에서 성공적으로 처리되었다는 의미입니다.
3xxRediraction완전한 처리를 위해서 추가적인 동작을 필요로 하는 경우입니다.
4xxClient Error없는 페이즈를 요청하는 것처럼 클라이언트의 요청 메시지 내용이 잘못된 경우
5xxServer Error서버 측 사정에 의해서 메시지 처리에 문제가 발생한 경우입니다.
  • 자주 사용되는 상태코드
상태코드상태텍스트응답문구서버측면에서의 의미
2xxSuccess성공클라이언트가 요청한 동작을 수신하여 이해했고, 승낙했으며 성공적으로 처리했다
200ok성공서버가 요청을 성공적으로 처리했다
201Created생성됨요청이 처리되어서 새로운 리소스가 생성되었다.
202Accepted허용됨요청은 접수했지만 처리가 완료되지 않았다.
3xxRediraction리다이렉션완전한 처리를 위해서 추가적인 동작을 필요로 하는 경우입니다.
301Moved Permanently영구이동지벙한 리소스가 새로운 URI로 이동했다.
303See Other다른 위치보기다른 위치로 요청하라
307Temporary Redirect임시 리다이렉션임시로 리다이렉션 요청이 필요하다
4xxClient Error클라이언트 에러클라이언트의 요청에 오류가 있다
400Bad Request잘못된 요청요청의 구문이 잘못되었다
401Unauthorized권한 없음지정한 리소스에 대한 액세스 권한이 없다
403Forbidden금지됨지정한 리소스에 대한 액세스가 금지되었다.
404Not Fount찾을 수 없음지정한 리소스를 찾을수 없다.
5xxServer Error서버 에러클라이언트의 요청은 유효한데, 서버가 처리에 실패했다.
500Internal Server Error내부서버 오류서버쪽에서 에러가 발생했다
502Bad Gateway불량 게이트웨이게이트웨이 또는 프록시 역할을 하는 서버가 그 뒷단의 서버로부터 잘못된 응답을 받았다.
503Service Unavailable서비스 제공불가현재 서버에서 서비스를 제공할 수없다.

URL 설계

웹 애플리케이션을 개발할때, 고객의 요구사항이 정리되면 먼저 디자인 측면에서는 화면 UI를 설계하고, 프로그램 측면에서는 URL을 설계하게됩니다.
즉, URL의 설계는 웹 서버 로직 설계의 첫걸음이고, 사용자 또는 웹 클라이언트에게 웹 서버가 가지고 있는 기능을 명시해주는 중요한 단계

  • URL 스킴 :URL에 사용된 프로토콜을 의미합니다.

  • 호스트명: 웹 서버의 호스트명으로 ,도메인명 또는 IP주소로 표현됩니다.

  • 포트번호: 웹 서버 내에 서비스 포트번호입니다. 생략 시에는 디폴트 포트번호로 http는 80을,
    https는 443을 사용

  • 경로:파일이나 애플리케이션 경로를 의미합니다.

  • 쿼리스트링 :질의 문자열로,앰퍼샌드(&)로 구분된 이름=값 쌍 형식으로 표현합니다.

  • 프라그먼트 : 문서 내의 앵커등 조각을 지정합니다.

0개의 댓글