본문 바로가기

Programming/HTTP

HTTP

HTTP(HyperText Transfer Protocol)

= 웹상에서 정보를 주고 받을 수 있는 프로토콜

 

- HTML 문서를 주고받는데 사용됨

- TCP를 사용하며, HTTP/3 버전 부터는 UDP를 사용함

- 80번 포트번호를 사용함

- 서버와 클라이언트 사이의 요청과 응답으로 이루어짐

- 상태를 지정하지 않음(Stateless)

 

[ 용어 ]

브라우저 = 사용자 에이전트(User Agent) 


 

HTTP Request(요청)

1. Start line

- HTTP Method : 요청할 행동을 정의

- Request Type : 요청될 목표

- HTTP Version : 사용되는 HTTP 버전

 

2. Headers : 요청에 대한 추가정보

- General Headers : 생성된 날짜 및 시간에 대한 정보들이 있으며 body와 관련이 없는 헤더

- Request Headers : 요청 URL, 메소드, 요청 생성에 사용된 브라우저 기타 정보와 같은 요청에 관한 정보를 포함한 헤더

- Entity Headers : 컨텐츠 길이나 MIME 타입과 같이 엔티티 바디에 대한 자세한 HTTP 본문에 대한 정보를 포함한 헤더

 

3. Body : 실제 요청

 

HTTP Response(응답)

1. Status line

- HTTP Version

- Status Code : 응답 상태 코드

- Status Text : 응답 상태 문자

 

2. Headers

- General Headers : 상동

- Response Headers : 사용된 인코딩, 서버 시스템에서 응답에 사용한 소프트웨어 및 기타 정보를 포함하는 헤더

- Entity Headers : 상동

 

3. Body : 실제 응답


[ HTTP Method ]

1. GET

- 서버로 부터 요청할 떄 주로 사용

- 단순히 데이터를 받아오는 과정에 사용

- 데이터를 받아올 때 사용되므로 Body가 비어있는 경우가 많음

2. POST

- 데이터를 생성, 수정 및 삭제할 때 주로 사용

3. OPTION

- 목표 리소스와 통신 옵션을 설명하기 위해 사용됨

4. PUT

- 데이터를 생성할 때 주로 사용

- POST와 중복되며, 주로 POST를 많이 씀

5. DELETE

- 데이터를 삭제할 때 사용

 

[ HTTP Status Code ]

- 200 OK

- 301 Moved Permanently(영구 이동) : url 이동

- 400 Bad Request : 잘못된 요청

- 401 Unautorized(승인되지 않은) : 로그인 필요

- 403 Forbidden(금지된) : 권한 없음

- 404 Not Found

- 500 Internal Server Error : 서버에 에러

 

 

 

 

 


[ 참고한 것들 링크 ]

https://velog.io/@teddybearjung/HTTP-%EA%B5%AC%EC%A1%B0-%EB%B0%8F-%ED%95%B5%EC%8B%AC-%EC%9A%94%EC%86%8C 

 

HTTP 구조 및 핵심 요소

하이퍼텍스트(HTML) 문서를 교환하기 위해 만들어진 protocol(통신 규약).즉 웹상에서 네트워크로 서버끼리 통신을 할때 어떠한 형식으로 서로 통신을 하자고 규정해 놓은 "통신 형식" 혹은 "통신 구

velog.io

https://velog.io/@codeamor/HTTP%EC%9D%98-%EA%B5%AC%EC%A1%B0-%EB%B0%8F-%ED%95%B5%EC%8B%AC-%EC%9A%94%EC%86%8C-1 

 

⚡ HTTP의 구조 및 핵심 요소 - 1

HTTP: HyperText Transfer Protocol웹상에서 HTML을 서로 주고받을 수 있도록 만들어진 프로토콜, 통신 규약서로 이해할 수 있는 공통의 통신 형식: Protocol, 그 중에 하나가 HTTP클라이언트가 먼저 HTTP에 요청

velog.io

https://velog.io/@codeamor/HTTP%EC%9D%98-%EA%B5%AC%EC%A1%B0-%EB%B0%8F-%ED%95%B5%EC%8B%AC-%EC%9A%94%EC%86%8C-2 

 

⚡ HTTP의 구조 및 핵심 요소 - 2

✔ HTTP 응답 구조 (1): Status Line (2): Headers (3): Body Status Line : HTTP 응답 메시지의 상태를 간략하게 요약하여 알려 주는 부분이다. 다음과 같은 형태로 구성 된다. (1): HTTP Version (2):

velog.io

https://www.youtube.com/watch?v=TwsQX1AnWJU 

https://ko.wikipedia.org/wiki/HTTP 

 

HTTP - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. HTTP(HyperText Transfer Protocol, 문화어: 초본문전송규약, 하이퍼본문전송규약)는 W3 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에

ko.wikipedia.org

blueyikim.tistory.com/1999

 

[정보] HTTP 구조 - 헤더(Header)와 본문(Body)

하이퍼 텍스트 전송 프로토콜(HTTP, Hyper Text Transport Protocol) 통신을 사용하면 클라이언트와 서버간에 두 가지 유형의 메시지 (HTTP 요청 및 HTTP 응답)를 전송할 수 있다. 클라이언트/브라우저가 요청

blueyikim.tistory.com

developer.mozilla.org/ko/

 

MDN Web Docs

MDN 웹 문서 사이트는 HTML, CSS, 및 웹 사이트와 프로그레시브 웹 앱을 위한 API를 포함한 오픈 웹 기술에 대한 정보를 제공합니다. 또한 Firefox 개발자 도구와 같은 Mozilla 제품을 위한 개발자 지향 문

developer.mozilla.org