일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
- WebClient
- angularjs
- node.js
- 외국인 노동자
- php
- spring boot
- build tool
- Spring
- Python
- maven
- webflux
- 일본
- mybatis
- Ajax
- gradle
- 개발자 이야기
- Eclipse
- javadoc
- swift
- jquery
- SQLite
- pdo
- JavaFX
- Apache
- SQL
- RSocket
- bootstrap
- Java
- Linux
- xml
- Today
- 123
- Total
- 3,697,220
슬기로운 개발자 생활
HTTP 응답 코드 및 메소드 본문
HTTP란?
HTTP(HyperText Transfer Protocol)는 WWW 상에서 정보를 주고받을 수 있는 프로토콜이다.
HTTP 응답 코드 종류
응답코드 | 의미 | 설명 |
---|---|---|
100 | Continue | 클라이언트로 부터 일부 요청을 받았으며 나머지 정보를 계속 요청함 |
101 | Switching protocols | 프로토콜 전환. 요청자가 서버에 프로토콜 전환을 요청했으며 서버는 이를 승인하는 중이다. |
200 | OK | 요청이 성공적으로 수행되었음 |
201 | Created | 성공적으로 요청되었으며 서버가 새 리소스를 작성했음 |
202 | Accepted | 웹 서버가 요청을 접수했지만 아직 처리하지 않음 |
203 | Non-authoritative information | 신뢰할 수 없는 정보, 서버가 요청을 성공적으로 처리했지만 다른 소스에서 수신된 정보를 제공하고 있음 |
204 | No content | 콘텐츠 없음. 서버가 요청을 성공적으로 처리했지만 콘텐츠를 제공하지 않음 |
205 | Reset Content, 콘텐츠 재설정 - 서버가 요청을 성공적으로 처리했지만 콘텐츠를 제공하지 않음 | |
206 | Partial content | 일부 콘텐츠. 서버가 GET요청의 일부만 성공적으로 처리했음 |
301 | Moved permanently | 요구한 데이터를 변경된 타 URL에 요청함 |
302 | Not temporarily | |
304 | Not modified | 컴퓨터 로컬의 캐시 정보를 이용함, 대개 gif 등은 웹 서버에 요청하지 않음 |
400 | Bad request | 사용자의 잘못된 요청을 처리할 수 없음 |
401 | Unauthorized | 인증이 필요한 페이지를 요청한 경우 |
402 | Payment required | 예약됨 |
403 | Forbidden | 접근 금지, 디렉터리 리스팅 요청 및 관리자 페이지 접근 등을 차단) |
404 | Not found | 요청한 페이지 없음 |
405 | Method not allowed | 허용되지 않는 http method 사용함 |
407 | Proxy authentication required | 프락시 인증 요구됨 |
408 | Request timeout | 요청 시간 초과 |
410 | Gone | 영구적으로 사용 금지 |
412 | Precondition failed | 전체 조건 실패 |
414 | Request-URI too long | 요청 URL 길이가 긴 경우임 |
500 | Internal server error | 내부 서버 오류 |
501 | Not implemented | 웹 서버가 처리할 수 없음 |
503 | Service unnailable | 서비스 제공 불가 |
504 | Gateway timeout | 게이트웨이 시간 초과 |
505 | HTTP version not supported | 해당 http 버전 지원되지 않음 |
HTTP 응답 코드 종류
GET
GET 요청 방식은 URI(URL)가 가진 정보를 검색하기 위해 서버 측에 요청하는형태이다
전송 형태
GET [request-uri]?query_string
HTTP/1.1\r\n
Host:[Hostname] 혹은 [IP] \r\n
POST
POST 요청 방식은 요청 URI(URL)에 폼 입력을 처리하기 위해 구성한 서버 측 스크립트(ASP, PHP, JSP 등) 혹은 CGI 프로그램으로 구성되고 Form Action과 함께 전송되는데, 이때 헤더 정보에 포함되지 않고 데이터 부분에 요청 정보가 들어가게 된다.
전송 형태
POST [request-uri]?query_string
HTTP/1.1\r\n
HOST:[Hostname] 혹은 [IP] \r\n
Content-Lenght:[Lenght in Bytes] \r\n
\r\n
[query-string] 혹은 [데이터]
HEAD
HEAD 요청 방식은 GET과 유사한 방식이나 웹 서버에서 헤더 정보 이외에는 어떤 데이터도 보내지 않는다.
웹 서버의 다운 여부 점검(Health Check)이나 웹 서버 정보(버전 등)등을 얻기 위해 사용될 수 있다.
전송 형태
HEAD [request-uri] HTTP/1.1\r\n
Host:[Hostname] 혹은 [IP] \r\n
OPTIONS
해당 메소드를 통해 시스템에서 지원되는 메소드 종류를 확인할 수 있다.
전송 형태
OPTIONS [request-ri]
HTTP/1.1\r\n
Host:[Hostname] 혹은 [IP] \r\n
PUT
POST와 유사한 전송 구조를 가지기 때문에 헤더 이외에 메시지(데이터)가 함께 전송된다.
원격지 서버에 지정한 콘텐츠를 저장하기 위해 사용되며 홈페이지 변조에 많이 악용되고 있다.
전송 형태
PUT [request-uri] HTTP/1.1\r\n
Host:[Hostname] 혹은 [IP] \r\n
Content-Lenght:[Length in Bytes] \r\n
Content-Type:[Content Type] \r\n
\r\n
[데이터]
DELETE
원격지 웹 서버에 파일을 삭제하기 위해 사용되며 PUT과는 반대 개념의 메소드이다.
전송 형태
DELETE [request-uri] HTTP/1.1\r\n
Host:[Hostname] 혹은 [IP] \r\n
\r\n
TRACE
원격지 서버에 Loopback(루프백) 메시지를 호출하기 위해 사용된다.
전송 형태
TRACE [request-uri] HTTP/1.1\r\n
Host:[Hostname] 혹은 [IP] \r\n
\r\n
CONNECT
웹 서버에 프락시 기능을 요청할 때 사용된다.
전송 형태
CONNECT [request-uri] HTTP/1.1\r\n
Host:[Hostname] 혹은 [IP] \r\n
\r\n
'IT 개발 > 기타' 카테고리의 다른 글
소프트웨어 라이선스 (0) | 2019.03.17 |
---|---|
YouTube to MP3 - 유투브 MP3 다운받기 (0) | 2018.10.27 |
C/C++와 JAVA 비교 (0) | 2018.01.10 |
REST API란? (0) | 2017.12.10 |
JSON이란? (0) | 2017.12.10 |