웹: 두 판 사이의 차이
둘러보기로 이동
검색으로 이동
(새 문서: WWW(World Wide Web)을 의미한다. == HTTP 처리방식 == {| class="wikitable" |+파이썬에서의 처리방식 !방식 !의미 !예시 |- |GET |Read. 리소스를 얻는다. |...) |
(→메시지 구조) |
||
(같은 사용자의 중간 판 2개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
WWW(World Wide Web)을 의미한다. | WWW(World Wide Web)을 의미한다. | ||
== | =HTTP= | ||
HTTP는 TCP/IP프로토콜 위에서 동작하는 프로토콜이다.(통신규약) | |||
==메시지 구조== | |||
{| class="wikitable" | |||
|+ | |||
! | |||
!구분 | |||
!설명 | |||
|- | |||
| | |||
|스타트라인 | |||
|상태(프로토콜버전, 상태코드, 상태텍스트)를 보여준다. | |||
|- | |||
| rowspan="3" |생략가능 | |||
|헤더 | |||
| | |||
|- | |||
|빈줄 | |||
|구분기능 | |||
|- | |||
|바디 | |||
|HTML텍스트 포함 | |||
|} | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+처리방식 | ||
!방식 | !방식 | ||
!의미 | !의미 | ||
9번째 줄: | 32번째 줄: | ||
|- | |- | ||
|GET | |GET | ||
|Read. 리소스를 얻는다. | |Read. 리소스를 얻는다. 지정한 URL정보 가져오기. | ||
http://호스트주소/경로?이름=값&이름2=값2 형태로 ? 뒤에 파라미터에 대한 값을 써서 요청할 수 있다. | |||
정보를 URL로 전달한다. | |||
|웹 페이지를 가져온다. | |웹 페이지를 가져온다. | ||
|- | |- | ||
|POST | |POST | ||
|Create. 리소스 생성, 데이터 추가. | |Create. 리소스 생성, 데이터 추가.(글 등록 등) | ||
GET으로도 파라미터를 보낼 수 있지만, URL의 길이제한이 있어 | GET으로도 파라미터를 보낼 수 있지만, URL의 길이제한이 있어 긴 데이터를 보내기 위해 사용한다. | ||
파라미터들을 요청메시지의 바디 안에 얺는다. | |||
혹은 정보를 외부에 드러내고 싶지 않을 때 사용. | |||
|블로그에 글을 올리는 등. | |블로그에 글을 올리는 등. | ||
|- | |- | ||
|PUT | |PUT | ||
|Update. 리소스 변경. 리소스를 생성하는 데 사용할 수 있지만, 리소스에 대한 결정권이 서버에 있을 때 POST를 사용하고, 클라이언트에 있을 때 PUT을 사용한다. | |Update. 리소스 변경.(글 변경 등) | ||
리소스를 생성하는 데 사용할 수 있지만, 리소스에 대한 결정권이 서버에 있을 때 POST를 사용하고, 클라이언트에 있을 때 PUT을 사용한다. | |||
|블로그 글 수정. | |블로그 글 수정. | ||
POST : 트위터에 올릴 때. | POST : 트위터에 올릴 때. | ||
29번째 줄: | 60번째 줄: | ||
|} | |} | ||
==상태코드== | |||
[https://ko.wikipedia.org/wiki/HTTP_%EC%83%81%ED%83%9C_%EC%BD%94%EB%93%9C 위키백과]에 잘 정리되어 있다. 여기엔 개요만 알 수 있게 간단히 정리해본다. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
61번째 줄: | 93번째 줄: | ||
|- | |- | ||
|303 | |303 | ||
|See Other. 다른 위치에 요청하세요. | |See Other. 다른 위치에 요청하세요. | ||
|- | |- | ||
|307 | |307 |
2020년 10월 13일 (화) 00:04 기준 최신판
WWW(World Wide Web)을 의미한다.
HTTP[편집 | 원본 편집]
HTTP는 TCP/IP프로토콜 위에서 동작하는 프로토콜이다.(통신규약)
메시지 구조[편집 | 원본 편집]
구분 | 설명 | |
---|---|---|
스타트라인 | 상태(프로토콜버전, 상태코드, 상태텍스트)를 보여준다. | |
생략가능 | 헤더 | |
빈줄 | 구분기능 | |
바디 | HTML텍스트 포함 |
방식 | 의미 | 예시 |
---|---|---|
GET | Read. 리소스를 얻는다. 지정한 URL정보 가져오기.
http://호스트주소/경로?이름=값&이름2=값2 형태로 ? 뒤에 파라미터에 대한 값을 써서 요청할 수 있다. 정보를 URL로 전달한다. |
웹 페이지를 가져온다. |
POST | Create. 리소스 생성, 데이터 추가.(글 등록 등)
GET으로도 파라미터를 보낼 수 있지만, URL의 길이제한이 있어 긴 데이터를 보내기 위해 사용한다. 파라미터들을 요청메시지의 바디 안에 얺는다. 혹은 정보를 외부에 드러내고 싶지 않을 때 사용. |
블로그에 글을 올리는 등. |
PUT | Update. 리소스 변경.(글 변경 등)
리소스를 생성하는 데 사용할 수 있지만, 리소스에 대한 결정권이 서버에 있을 때 POST를 사용하고, 클라이언트에 있을 때 PUT을 사용한다. |
블로그 글 수정.
POST : 트위터에 올릴 때. PUT : 위키 등에 올릴 때. |
DELETE | Delete. 리소스 삭제. | 글 지우기. |
상태코드[편집 | 원본 편집]
위키백과에 잘 정리되어 있다. 여기엔 개요만 알 수 있게 간단히 정리해본다.
상태코드 | 상황 | 설명 |
---|---|---|
100번대 | 정보제공 | 임시적인 응답. 현재 요청까지 처리되었으니 계속 진행하라는 신호. |
200번대 | 성공 | 성공적으로 처리했음을 알려줌. |
200 | OK. 서버가 요청을 성공적으로 처리했다. | |
201 | Created. 요청이 처리되어 새로운 리소스를 생성했음. | |
202 | Accepted. 요청은 접수되었지만, 처리되지 않았음. | |
300번대 | 리다이렉션 | 요청을 마치기 위해 추가적인 작업을 해야 한다. |
301 | Moved Permanently. 지정한 리소스가 새로운 URI로 이동했음. | |
303 | See Other. 다른 위치에 요청하세요. | |
307 | Temporary Redirect. 임시 리다이렉션 요청이 필요함. | |
400번대 | 에러 | 클라이언트의 요청에 문제가 있음. |
400 | Bad Request. 요청의 구문이 잘못되었다.
이외 에러에서 다른 코드에 해당하지 않으면 400번을 띄운다. | |
401 | Unauthorized. 권한 없음. | |
403 | Forbidden. 지정 리소스에 대해 엑세스가 금지됨.
리소스 존재 자쳬를 감추고 싶다면 404를 사용한다. | |
404 | Not Found. 지정한 리소스를 찾을 수 없다. | |
500번대 | 서버에러 | 클라이언트의 요청은 유효한데, 서버에 문제가 있다. |
500 | Internal Server Error. 내부 서버 오류.
이외 서버에러에서 다른 코드에 해당하지 않으면 500번을 띄운다. | |
502 | Bad Gateway. 게이트웨이, 프록시역할을 하는 서버가 그 뒤의 서버로부터 잘못된 응답을 받았다. | |
503 | Service Unavailable. 서비스 제공 불가. 일반적으로 서버 과부하나 점검 등 일시적인 상태. |