Notice
Recent Posts
Recent Comments
Link
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

우당탕탕 개발자 되기

HTTP 본문

HTTP

HTTP

KimMINHun 2021. 9. 3. 13:44

HTTP(HyperText Transfer Protocol)

 

역사

- HTTP/0.9(91년) : GET 메서드만 지원, HTTP 헤더X

- HTTP/1.0(96년) : 메서드, 헤더 추가

- HTTP/1.1(97년) : 최근 가장 많이 사용

- HTTP/2 (15년) : 성능 개선

- HTTP/3 진행중 : TCP 대신 UDP 로 대체

 

특징

- 클라이언트 서버구조

   - Request Response 구조

   - 클라이언트가 서버에 Request

   - 서버가 클라이언트에 Response

 

- 무상태 프로토콜

  - 서버가 클라이언트의 정보를 유지x

  - 장점 : 서버 확장성 높음(Scale Out)

  - 단점 : 클라이언트가 전송하는 데이터 용량이 늘어남

- 모든것을 무상태로 설계할 수 는 없지만 상태유지를 최소한으로만 사용해야한다.

 

- 비 연결성

  - 서버 자원을 매우 효율족으로 사용할수 있다.

 - 매번 TCP/IP 연결을 새로 맺어야 하기때문에 시간이 추가된다.

 - 현재 HTTP 지속 연결(Persistent Connections)로 문제 해결

 

  HTTP 메시지 구조

HTTP-message = start-line

                       *( header- field CRLF )

                       CRLF

                       [message-body]

 

시작 라인(요청 메시지)

- start-line = request-line

- request-line = method request-target HTTP-version CRLF

- HTTP 메서드(서버가 수행해야 할 동작 지정)

   -GET : 리소스 조회

   -POST : 요청 내역 처리

- 요청 대상(/search?q=hello&hl-ko)

   - absolute-path[?query](절대경로[?쿼리])

   - 절대경로 : "/"로 시작 경로

 

 

시작라인(응답 메시지)

- start-line : status-line

- status-line : HTTP-version status-code reason-phrase CRLF

- HTTP status code

   - 200 : 성공, 400: 클라이언트 요청 오류, 500 : 서버 내부 오류

 - reason-phrase : 이해할수 있도록 짧은 상태 코드 설명

 

 

 

 

 

 

출처) https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard

 

모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의

실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., 웹 기술을 사용하는 개발자라면 누구나 OK!꼭 필요한 HTTP의 핵심을 알려드립니다. 📣 확인해주세요!본 강의는 자바 스

www.inflearn.com

 

'HTTP' 카테고리의 다른 글

HTTP 헤더  (0) 2021.09.06
HTTP 상태코드  (0) 2021.09.05
HTTP 메서드  (0) 2021.09.03
URI, Web Browser 요청 흐름  (0) 2021.09.02
인터넷 통신  (0) 2021.09.02