[인터넷] HTTP
👌 HTTP란?
HTTP는 Hypertext Transfer Protocol의 약자로, 하이퍼텍스트 문서를 교환하기 위하여 사용되는 통신 규약. 즉, 웹 서버와 클라이언트간의 통신을 하기 위한 통신 규약을 말한다.
✔ HTTP의 특징
- HTTP 메시지는 HTTP 서버와 HTTP 클라이언트에 의해서 해석
- 클라이언트가 서버에 HTTP 요청을 보내면 서버가 사용자에게 HTTP 응답을 전송
- TCP/IP를 이용하는 응용 프로토콜 (application protocol)
- 연결 상태를 유지하지 않는 비연결성 프로토콜 (비연결성의 단점을 해결하기 위해 Cookie와 Session 등장)
- 비연결성 프로토콜이기 때문에 요청/응답(request/response) 방식으로 동작
✔ 요청 (Request)
- 요청의 종류 (Request Method)
- GET: 자료를 요청
- POST: 자료의 생성을 요청
- PUT: 자료의 수정을 요청
- DELETE: 자료의 삭제를 요청
GET https://velog.io/@woohyun-park HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...
Upgrade-Insecure-Requests: 1
(본문 없음)
- 메소드 구조 버전 (첫번째 줄)
- GET: HTTP Method
- https://velog.io/@woohyun-park: 사이트 주소
- HTTP/1.1: HTTP 버전
- 헤더 (2,3번째 줄)
- 요청에 대한 정보
- 헤더의 종류는 매우 많음
- 본문 (없음)
- 요청을 할 때 함께 보낼 데이터를 담는 부분
- 예시는 단순히 주소를 요청하므로 본문이 비어있음
✔ 응답 (Response)
- 상태 코드 (Status Code)
- 1XX: 조건부 응답, 요청을 받았으며 작업을 계속
- 2XX: 성공, 요청한 동작을 수신하여 이해했고 승낙했으며 성공적으로 처리
- 3XX: 리다이렉션 완료, 클라이언트는 요청을 마치기 위해 추가 동작을 취해야 함
- 4XX: 요청 오류, 클라이언트에 오류
- 5XX: 서버 오류, 서버가 유효한 요청을 수행하지 못했음
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...
- 버전 상태코드 상태메시지 (첫번째 줄)
- 200은 성공적인 요청이라는 뜻
- 헤더 (두번째 줄부터)
- 응답에 대한 정보
- 본문 (다음 문단부터)
- 응답의 경우 대부분 본문이 존재
- 응답 메시지에 요청한 데이터가 담겨있음
- 예시의 경우 HTML이 담겨있는데, 이 HTML을 브라우저가 화면에 렌더링
✔ 참고 사이트
Author And Source
이 문제에 관하여([인터넷] HTTP), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@woohyun_park/HTTP저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)