폼에서 사용자가 입력한 데이터들을 서버로 보낼때, 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
POST에서는 GET에서 URL에 포함시켰던 파라미터들을 위 예시처럼 요청 메시지의 바디에
넣습니다.
GET방식을 이용하면 많은 양의 데이터를 보내기 어렵다(URL길이 제한이 있기 떄문)
전달되는 사용자의 데이터가 웹브라우저의 주소창에 노출되다는 단점(보안측면)
메소드명 | 의미 | CRUD와 매핑되는 역할 |
---|---|---|
1XX | Informational | 임시적읜 응답으로,현재 클라이언트의 요청까지 처리되었으니 계속 진행하라는의미 |
2xx | Sucess | 클라이언트의 요청이 서버에서 성공적으로 처리되었다는 의미입니다. |
3xx | Rediraction | 완전한 처리를 위해서 추가적인 동작을 필요로 하는 경우입니다. |
4xx | Client Error | 없는 페이즈를 요청하는 것처럼 클라이언트의 요청 메시지 내용이 잘못된 경우 |
5xx | Server Error | 서버 측 사정에 의해서 메시지 처리에 문제가 발생한 경우입니다. |
상태코드 | 상태텍스트 | 응답문구 | 서버측면에서의 의미 |
---|---|---|---|
2xx | Success | 성공 | 클라이언트가 요청한 동작을 수신하여 이해했고, 승낙했으며 성공적으로 처리했다 |
200 | ok | 성공 | 서버가 요청을 성공적으로 처리했다 |
201 | Created | 생성됨 | 요청이 처리되어서 새로운 리소스가 생성되었다. |
202 | Accepted | 허용됨 | 요청은 접수했지만 처리가 완료되지 않았다. |
3xx | Rediraction | 리다이렉션 | 완전한 처리를 위해서 추가적인 동작을 필요로 하는 경우입니다. |
301 | Moved Permanently | 영구이동 | 지벙한 리소스가 새로운 URI로 이동했다. |
303 | See Other | 다른 위치보기 | 다른 위치로 요청하라 |
307 | Temporary Redirect | 임시 리다이렉션 | 임시로 리다이렉션 요청이 필요하다 |
4xx | Client Error | 클라이언트 에러 | 클라이언트의 요청에 오류가 있다 |
400 | Bad Request | 잘못된 요청 | 요청의 구문이 잘못되었다 |
401 | Unauthorized | 권한 없음 | 지정한 리소스에 대한 액세스 권한이 없다 |
403 | Forbidden | 금지됨 | 지정한 리소스에 대한 액세스가 금지되었다. |
404 | Not Fount | 찾을 수 없음 | 지정한 리소스를 찾을수 없다. |
5xx | Server Error | 서버 에러 | 클라이언트의 요청은 유효한데, 서버가 처리에 실패했다. |
500 | Internal Server Error | 내부서버 오류 | 서버쪽에서 에러가 발생했다 |
502 | Bad Gateway | 불량 게이트웨이 | 게이트웨이 또는 프록시 역할을 하는 서버가 그 뒷단의 서버로부터 잘못된 응답을 받았다. |
503 | Service Unavailable | 서비스 제공불가 | 현재 서버에서 서비스를 제공할 수없다. |
웹 애플리케이션을 개발할때, 고객의 요구사항이 정리되면 먼저 디자인 측면에서는 화면 UI를 설계하고, 프로그램 측면에서는 URL을 설계하게됩니다.
즉, URL의 설계는 웹 서버 로직 설계의 첫걸음이고, 사용자 또는 웹 클라이언트에게 웹 서버가 가지고 있는 기능을 명시해주는 중요한 단계
URL 스킴 :URL에 사용된 프로토콜을 의미합니다.
호스트명: 웹 서버의 호스트명으로 ,도메인명 또는 IP주소로 표현됩니다.
포트번호: 웹 서버 내에 서비스 포트번호입니다. 생략 시에는 디폴트 포트번호로 http는 80을,
https는 443을 사용
경로:파일이나 애플리케이션 경로를 의미합니다.
쿼리스트링 :질의 문자열로,앰퍼샌드(&)로 구분된 이름=값 쌍 형식으로 표현합니다.
프라그먼트 : 문서 내의 앵커등 조각을 지정합니다.