웹
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. 서비스 제공 불가. 일반적으로 서버 과부하나 점검 등 일시적인 상태. |