HTTP 개념
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 (서버 오류) : 서버가 유효한 요청을 명백하게 수행하지 못했음을 나타낸다.
참고
- https://www.zerocho.com/category/HTTP/post/5b3723477b58fc001b8f6385
- https://velog.io/@surim014/HTTP%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
Author And Source
이 문제에 관하여(HTTP 개념), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@claraqn/HTTP-개념저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)