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 |