HTTP 개념

3413 단어 httphttp

HTTP(Hyper Text Transfer Protocol)

인터넷에서 데이터를 주고받을 수 있는 프로토콜(규칙)이다. 규칙이 존재하기 때문에 프로그램이 이에 따라 개발되고 서로 정보를 교환할 수 있다.


웹서버 : 어떤 자료에 대한 접근을 관리하는 네트워크상의 시스템 ex>서버컴퓨터
웹클라이언트 : 자료에 접근할 수 있는 프로그램 ex>웹브라우저,핸드폰어플

웹 클라이언트가 웹 서버에게 HTTP 객체를 요청하고, 웹 서버는 리소스를 저장하고 클라이언트가 요청한 데이터를 제공(응답)한다. HTTP통신을 위한 정보 문서에는 HTML, JSON, XML 등이 있다. 또한 HTTP는 애플리케이션 계층 프로토콜이고 주로 TCP/IP 으로 전송된다.

웹 클라이언트가 웹 서버에 접속하기 위해 서버주소인 url 을 통해 접속하게 됨


요청(request)

클라이언트가 서버에게 '요청'하는 것으로, 요청에 대한 정보를 담아 보내는데 이때 정보가 담긴 메시지를 HTTP 메시지라고 한다.

<메서드>
Get : 자료를 요청할 때 사용
POST : 자료의 생성을 요청할 때 사용
PUT : 자료의 수정을 요청할 때 사용
DELETE : 자료의 삭제를 요청할 때 사용

예시

GET https://www.zerocho.com HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...
Upgrade-Insecure-Requests: 1

첫번째줄
www.zerocho.com : 주소
HTTP/1.1 : HTTP 버전
두번째줄
헤더로 요청에 대한 정보 담겨있음
세번째줄
본문으로 요청을 할 때 함께 보낼 데이터를 담는 부분


응답(response)

서버가 요청에 대한 답변을 클라이언트에게 보내는 것을 '응답'이라고 한다.

예시

HTTP/1.1 200 OK														// 시작줄
Connection: keep-alive												 // 헤더
Content-Encoding: gzip												 
Content-Length: 35653
Content-Type: text/html;

<!DOCTYPE html><html lang="ko" data-reactroot=""><head><title...

첫번째줄
상태코드 상태메시지
두번째줄
헤더로 응답에 대한 정보를 담고 있음
세번째줄
응답 메시지에는 HTML에 요청한 데이터를 담아서 보내줌. 브라우저가 HTML을 받아 화면에 렌더링

상태코드

  • 1XX (조건부 응답) : 요청을 받았으며 작업을 계속한다.
  • 2XX (성공) : 클라이언트가 요청한 동작을 수신하여 이해했고 승낙했으며 성공적으로 처리했음을 가리킨다.
  • 3XX (리다이렉션 완료) : 클라이언트는 요청을 마치기 위해 추가 동작을 취해야 한다.
  • 4XX (요청 오류) : 클라이언트에 오류가 있음을 나타낸다.
  • 5XX (서버 오류) : 서버가 유효한 요청을 명백하게 수행하지 못했음을 나타낸다.


참고

좋은 웹페이지 즐겨찾기