웹: 두 판 사이의 차이

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동
편집 요약 없음
1번째 줄: 1번째 줄:
WWW(World Wide Web)을 의미한다.
WWW(World Wide Web)을 의미한다.


==HTTP 처리방식==
=HTTP=
HTTP는 TCP/IP프로토콜 위에서 동작하는 프로토콜이다.
 
== 메시지 구조 ==
{| class="wikitable"
|+
!
!구분
!설명
|-
|
|스타트라인
|상태(프로토콜버전, 상태코드, 상태텍스트)를 보여준다.
|-
| rowspan="3" |생략가능
|헤더
|
|-
|빈줄
|구분기능
|-
|바디
|HTML텍스트 포함
|}
{| class="wikitable"
{| class="wikitable"
|+파이썬에서의 처리방식
|+처리방식
!방식
!방식
!의미
!의미
9번째 줄: 32번째 줄:
|-
|-
|GET
|GET
|Read. 리소스를 얻는다.
|Read. 리소스를 얻는다. 지정한 URL정보 가져오기.
|웹 페이지를 가져온다.
|웹 페이지를 가져온다.
|-
|-
|POST
|POST
|Create. 리소스 생성, 데이터 추가.
|Create. 리소스 생성, 데이터 추가.(글 등록 등)
GET으로도 파라미터를 보낼 수 있지만, URL의 길이제한이 있어 구분하여 사용한다.
GET으로도 파라미터를 보낼 수 있지만, URL의 길이제한이 있어 구분하여 사용한다.
|블로그에 글을 올리는 등.
|블로그에 글을 올리는 등.
|-
|-
|PUT
|PUT
|Update. 리소스 변경. 리소스를 생성하는 데 사용할 수 있지만, 리소스에 대한 결정권이 서버에 있을 때 POST를 사용하고, 클라이언트에 있을 때 PUT을 사용한다.
|Update. 리소스 변경.(글 변경 등)
리소스를 생성하는 데 사용할 수 있지만, 리소스에 대한 결정권이 서버에 있을 때 POST를 사용하고, 클라이언트에 있을 때 PUT을 사용한다.
|블로그 글 수정.
|블로그 글 수정.
POST : 트위터에 올릴 때.
POST : 트위터에 올릴 때.
29번째 줄: 53번째 줄:
|}
|}


===상태코드===
==상태코드==
[https://ko.wikipedia.org/wiki/HTTP_%EC%83%81%ED%83%9C_%EC%BD%94%EB%93%9C 위키백과]에 잘 정리되어 있다. 여기엔 개요만 알 수 있게 간단히 정리해본다.
[https://ko.wikipedia.org/wiki/HTTP_%EC%83%81%ED%83%9C_%EC%BD%94%EB%93%9C 위키백과]에 잘 정리되어 있다. 여기엔 개요만 알 수 있게 간단히 정리해본다.
{| class="wikitable"
{| class="wikitable"

2020년 10월 1일 (목) 09:53 판

WWW(World Wide Web)을 의미한다.

HTTP

HTTP는 TCP/IP프로토콜 위에서 동작하는 프로토콜이다.

메시지 구조

구분 설명
스타트라인 상태(프로토콜버전, 상태코드, 상태텍스트)를 보여준다.
생략가능 헤더
빈줄 구분기능
바디 HTML텍스트 포함
처리방식
방식 의미 예시
GET Read. 리소스를 얻는다. 지정한 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. 서비스 제공 불가. 일반적으로 서버 과부하나 점검 등 일시적인 상태.