본문 바로가기
HTTP의 이해

HTTP/HTTPS

by dev_jisu 2023. 3. 12.

HTTPS --> HTTP + SECURE (보안적용)

 

HTTP(Hyper TEXT Transfer Protocol)

             웹 브라우저            
SOCKET 라이브러리
TCP/UDP
IP
네트워크 인터페이스 (랜카드/드라이버 등)

http /1.1 /가장많이 사용 -1997년

기반 프로토콜

TCP ; http /1.1 ,http /1.2

UDP : http/1.3

 

http특징 

  1. 클라이언트 서버구조 
  2. 무상태 프로토콜 / 비연결성 
  3. http 메시지 
  4. 단순, 확장 가능 

1.클라이언트 서버구조 

클라이언트 서버 구조

2. 무상태 프로토콜

 

StateFul(상태유지) /cookie ,session등  요청상태 유지 / 중간에 요청바뀔시 오류
StateLess(무상태) / queryParameter 무상태 / 중간에 요청 바뀌어도 오류 X / 무한 증원 가능

StateFul

StateFul --> 서버1이 다운되어 서버 2로 갈 경우 오류

StateLess --> 서버1이 다운되어 서버 2로 갈 경우 오류 없음

 

최대 StateLess + 최소 StateFul(session+cookie) 로 구성 

 

2.1 비연결성 

 클라이언트에서 서버로 연결 후 연결을 끊어 서버 부하 낮음 

 

단점 

  1. TCP/IP 연결을 새로 해야함 (3Wayhandshake)
  2. Http 사이트 요청시 수많은 자료 다시 다운 --> 지금은 http 지속 연결 사용 

http 지속연결

3.HTTP 메시지 

 

시작
Header(모든 부가 정보)
공백
Body(데이터)

 

요청

method (get,post , put ,delete)
절대경로 + query
버전 / http1.1

응답 

버젼 / http/1.1 
100,200,300,400,500

100 -> 요청 수신 /처리중

200 -> 요청 정상 처리

300-> 요청을 완료하기 위해 클라이언트가 추가 동작 필요 (요청완료/추가행동 필요)

400-> 요청 오류 (클라이언트 오류 ) /잘못된 문법

500-> 내부 오류(서버 오류)

 

메시지 구조

RFC2616 (과거) 구조 general Header /Request Header / response Header /Entity Header (데이터 해석을 위한 정보)

                                    +body (Entity data)

RFC 7230-7235

  •  Body를 통해 표현 데이터 전달
  • 표현 header로 표현 데이터 해석 
  • 메시지 부분 payload 

표현

content-type 표현 데이터 형식
content-Encoding 표현 데이터 압축
content-Language 언어
content-Langth 길이(Byte)

협상 : 클라이언트가 선화는 표현 요청 /구체적 일수록 우선순위가 높다 

Accept 선호하는 미디어 타입 전달
Accept-charSet 문자 인코딩
Accept-Encodin 압축 인코딩
Accept-Language 자연 언어 

전송 방식 

  1. 단순전송 : content-Langth를 알 경우 전체 전송후 전체 수용 
  2. 압축 전송 : content-Encoding : 압축 
  3. 분할 전송 : transfer-Encoding  => content-Length 전송 X 
  4. 범위 전송 : content-Range

그 외

  1. referer : 이전 사이트 "유입경로"
  2. user-agent : 웹 브라우져 정보 (클라이언트 ,애플리케이션 정보) / 브라우저의 정보 파악 가능 
  3. server-origin : 서버정보
  4. Date -날짜 ,시간 
  5. host -(필수헤더 )도메인 
  6. Location -1xx,2xx,3xx,4xx,5xx 등 
  7. retry-after : 503 서비스 불능 시간 
  8. 인증 헤더 :  authorization : 클라이언트 인증 정보 / www-authenticate: 리소스접근 인증방법정의 

'HTTP의 이해' 카테고리의 다른 글

Http Api 설계  (0) 2023.03.12
Http 속성  (0) 2023.03.12
Http 메소드  (0) 2023.03.12
URI/URL/URN  (0) 2023.03.12
IP /TCP/UDP  (0) 2023.03.12

댓글