HTTP 란 무엇인가?
** 아래 글은 surim014 님의 글 HTTP란 무엇인가? 을 보고 정리한 글입니다.
HTTP (HyperText Transfer Protocol)
- 텍스트 기반 통신 규약으로 인터넷에서 데이터를 주고 받을 수 있는 프로토콜.
HTTP의 동작
-
요청과 응답. (요청 : client -> server, 응답 : server -> client)
-
HTML 문서만이 HTTP 정보 통신을 위한 유일한 정보 문서가 아님 (JSON, XML 등등)
HTTP 특징
-
HTTP 메시지는 HTTP 서버, 클라이언트에 의해 해석됨.
-
TCP/IP를 이용하는 응용 프로토콜이다.
-
HTTP는 연결 상태를 유지하지 않는 비연결성 프로토콜이다. (응답과 요청으로 이루어짐, Cookie & session 으로 관리)
Request 종류
-
GET, POST, PUT, DELETE, HEAD 등등
-
시작줄 : <HTTP Method> <사이트 주소> <HTTP 버전>
-
헤더 : 요청 정보 Ex) User-Agent, Upgrade-Insecure-Requests, Cache-Control ……
-
본문 : 헤더 밑에 한 줄 띄우고 작성, 요청 시 함꼐 보낼 데이터
Response
-
Status Code :
-
1xx(조건부 응답) : 요청 받았고 작업을 계속한다.
-
2xx(성공) : 성공적 처리
-
3xx(리다이렉션 완료) : 요청 마칠 때 추가 동작을 해야한다.
-
4xx(요청 오류) : 클라이언트에 오류가 있음.
-
5xx(서버 오류) : 서버가 유요한 요청을 명백하게 수행하지 못함.
-
-
시작줄 : <HTTP 버전> <Status Code> <Status Message>
-
헤더 : 응답 정보 Ex) Connection, Content-Encoding, Content-Length ……
-
본문 : 응답 메시지에 데이터를 담아서 보내줌.