Interlude/Web Hacking Study

[DREAMHACK] 1. Background-HTTP/HTTPS

myejinni 2022. 1. 14. 19:09

1. HTTP(HyperText Transfer Protocol)

 

HTTP: 서버와 클라이언트의 데이터 교환을 요청(Request)과 응답(Response) 형식으로 정의한 프로토콜

 

HTTP의 기본 메커니즘: 클라이언트가 서버에게 요청하면 서버가 응답하는 것

 

네트워크 포트

: 네크워크에서 서버와 클라이언트가 정보를 교환하는 추상화된 장소

-> 클라이언트가 서버의 포트에 접근해 데이터를 내려놓고 서버가 클라이언트네 보낼 데이터를 실어서 돌려보내는 장면을 연상해보자!

ㄴ 서비스 포트

    : 네크워크 포트 중 특정 서비스가 점유하고 있는 포트

 

Well-known port

: 0번~1023번 포트

: 잘 알려진 포트에 서비스를 실행하려면 관리자 권한이 필요하다!

 

HTTP 메세지

: 클라이언트는 HTTP 요청을, 서버는 HTTP 응답을 반환함                 

: HTTP 헤드와 바디로 구성됨

 

HTTP 요청

: 서버에게 특정 동작을 요구하는 메세지           

: 요청받은  동작의 실현 가능성 등을 검토한 뒤 적절한 경우 처리

ㄴ 시작줄 

    -메소드 : 서버가 수행하길 바라는 동작 나타냄 ex. GET,POST             

    -요청 URI: 메소드의 대상 나타냄             

    -HTTP 버전: 클라이언트가 사용하는 HTTP 프로토콜의 버전 나타냄

 

HTTP 응답

: HTTP 요청에 대한 결과 반환

ㄴ 시작줄

  -HTTP 버전: 서버가 사용하는 HTTP 프로토콜의 버전

  -상태 코드: 요청에 대한 처리 결과를 세 자릿수로 나타냄

  -처리 사유: 상태 코드가 발생한 이유를 짧게 기술

 

2. HTTPS

 

HTTP의 문제점

: 응답과 요청이 평문으로 전달됨

=> (-) 누군가 중간에 가로챈다면 중요한 정보가 유출될 수 있다는 것!

 

따라서 HTTPS는 TLS 프로토콜을 도입해 HTTP의 문제점을 보완함

 

TLS(Transport Layer Security)

: 서버와 클라이언트 사이에 오가는 모든 HTTP 메세지를 암호화

: (+) 공격자가 중간에 메세지를 탈취하더라도 해석 불가능! 

 

 

 

 

 

 

 

 

 

'Interlude > Web Hacking Study' 카테고리의 다른 글

[dreamhack] Stage 2: Browser DevTools  (0) 2022.02.13
[dreamhack] Stage 2: Web Browser  (0) 2022.02.13
[DREAMHACK] 1. Background: WEB  (0) 2022.01.14