[HTTP 완벽가이드] 1장

jhstudio·2023년 6월 26일
0

HTTP 완벽가이드

목록 보기
1/2
post-thumbnail

미디어타입

MIME타입은 수백가지가 있다.
주타입/부타입 형식

  • text/plain
  • image/jpeg

URI

식별자
http://www.~~.com/spec/balde.gif 형식

URI에는 URL, URN이 있다.

URL

3부분으로 되어있다.
URI는 URL이다.

  • http://
  • 인터넷주소 www.~~~.com
  • 리소스 /saw-balade.gif

URN(uniform resource name)

ex) urn:ietf:efc:2141

  • 유니폼 리소스 이름
  • 아직 실험중이고 채택되지않음

HTTP 트랜잭션

요청 명령과 응답결과로 구성

  • HTTP 요청은 한개의 메서드를 갖음
  • 모든 HTTP 응답은 상태코드가 반환
  • 웹페이지는 리소스의 모음
    • 이미지, 애플릿 등등 리소스

HTTP 메세지

  • 요청, 응답이 있음
  • 텍스트로만 구성
  • 응답은 시작줄, 헤더, 본문으로 구성

시작줄

HTTP/1.0 200 OK

헤더

0개이상 :으로 구분된 이름과 값으로 구성
Content-type: text/plain

본문

클라이언트로 반환되는 문자나 이진데이터

TCP/IP

  • HTTP는 애플리케이션 계층 프로토콜
  • 네트워크 통신의 내용보다는 신뢰성
    • 오류없는 데이터 전송
    • 순서대로 전달(보낸순서대로 도착)
    • 어떤크기로든 보낼수 있음
  • TCP 커넥션이 되면 메세지가 없어지거나 손상, 순서가 바뀌는일 없음

접속

IP와 포트를 사용해 TCP/IP 커넥션을 맺는다

웹브라우저 통신순서
1. URL 호스트명 추출
2. 호스트명을 IP로 변환
3. 포트번호가 있다면 추출
4. TCP 커넥션 맺음
5. 서버에 HTTP 요청보냄
6. 서버는 브라우저에 HTTP응답
7. 커넥션이 닫히고 브라우저에 문서 출력

텔넷으로 한다면 URL과 포트를 입력 후 HTTP요청을 입력해야한다.

프로토콜 버전

HTTP프로토콜은 여러 버전이 있다.

HTTP/0.9

  • GET메서드만 지원
  • MIME 지원안함
  • 버전번호 지원x
  • 간단한 HTML만 받음

HTTP/1.0

  • 버전번호, 헤더, 추가메섣, 멀티미디어 객체처리 추가

HTTP/1.0+

  • keep-alive 커넥션
  • 가상호스팅지원
    • 한 서버에 여러 도메인
  • 프락시 연결지원
    • 캐시, SSL지원

HTTP/1.1

HTTP/1.0+을 패치했다고 보면될듯

  • HTTP 설계의 구조적 결함교정
  • 성능 최적화
  • 잘못된 기능제거

HTTP/2.0

  • HTTP/1.1 성능개선

웹의 구성요소

프락시

클라이언트, 서버사이에 있는 HTTP 중개자

  • 웹보안
    • 컨텐츠 차단, 바이러스 검출 등등
  • 성능최적화

캐시

  • 자주찾는 문서의 사본을 저장
  • 빨리 다운 가능

게이트웨이

다른 애플리케이션과 연결된 웹서버

  • 주로 HTTP 트래픽을 다른 프로토콜로 변환
    ex) FTP URI를 HTTP요청으로 받고 문서를 가져온다.

터널

단순 HTTP 통신을 전달하는 프락시

  • 암호화된 SSL트래픽을 HTTP 커넥션으로 저송

에이전트

자동화된 HTTP 요청을 만드는 클라이언트
ex) 크롤링

profile
잡부

0개의 댓글