[DREAMHACK/230912] 웹해킹 입문

서혜선·2023년 9월 12일
0

드림핵

목록 보기
1/5

Keyword

인코딩(Encoding)

0과 1로 사람이 이해할 수 있는 문자를 표현하는 약속
(대표적으로 아스키(Ascii), 유니코드(Unicode)가 있다 👉 실습해보기)

  • 아스키(Ascii)
    7비트 데이터 인코딩 표준(알파벳, 특수문자 등을 표현할 수 있다)
  • 유니코드(Unicode)
    컴퓨터 개발 초기 각 문자권에 따른 고유 인코딩 표준으로 인해 국제적으로 호환이 어려워 발생되는 문제로 나타난 새로운 표준.
    한 문자는 최대 32개 비트로 표현되며 전 세계의 문자를 표현하고도 남는 공간. 한글, 한자, 일본어 외 이모지도 유니코드에 포함된다고 한다.

통신 프로토콜(protocol)

클라이언트가 서버로 웹에 특정 리소스를 지정해 제공 요청(request),
서버는 해당 요청을 이해하고 대응 동작을 통해 클라이언트로 리소스를 반환(response), 규격화된 상호작용에 적용되는 약속을 말한다. 사람과는 달리 컴퓨터와 통신은 엄격한 프로토콜을 사용해야한다.(표준 통신 프로토콜 => TCP/IP, HTTP, FTP 등이 있다)

HTTP(Hyper Text Transfer Protocol)

서버와 클라이언트의 데이터 교환을 요청(req)과 응답(res)으로 정의한 프로토콜, 클라이언트가 서버에 요청하면 서버가 응답!

  • 네트워크 포트(Network Port)
    네트워크에서 서버와 클라이언트가 정보를 교환하는 추상화된 장소
  • 서비스 포트(Service Port)
    특정 서비스가 점유하고 있는 포트
  • 포트로 데이터를 교환하는 방식은 전송 계층(Transport Layer)의 프로토콜을 따름(대표적 TCP, UDP)

HTTP 메시지

HTTP 서버와 클라이언트가 교환하는 데이터. 헤드와 바디로 구성되며, 각 줄은 CRLF로 구분됨.

  • 헤드(head)
    메시지에 대한 정보. 헤드의 끝에는 CRLF가 한 줄 있음.
  • 바디(body)
    클라이언트가 서버에게, 또는 서버가 클라이언트에게 전달할 데이터

HTTP 요청

서버에게 특정 동작을 요구하는 메시지, 서버에서 클라이언트가 요청권한이 있는지 검토 후 적절할때만 이를 처리
(👉 HTTP 표준 문서 - 요청)

  • 메소드(Method)
    URI가 가리키는 리소스를 대상, 서버가 수행하길 바라는 동작을 나타낸다
    - GET : 리소스 가져오기
    - POST : 리소스 전송하기
  • 요청 URI(Request-URI)
    요청 URI(Request-URI): 메소드의 대상이 되는 리소스를 지정

HTTP 응답

HTTP 요청에 대한 결과, 이유, 상태(status), 클라이언트에 전송할 리소스가 포함
(👉 HTTP 표준 문서 - 응답)

  • 상태코드
    - 1XX => 요청을 받았고, 처리 진행중
    - 2XX => 요청 처리 / 200(OK) : 성공
    • 3XX => 클라이언트에서 추가 동작 필요 / 302(Found) : 다른 URL로 갈 것
    • 4XX => 클라이언트의 잘못된 요청으로, 처리 실패
      / 400(Bad Request) : 요청이 문법에 맞지 않음
      / 402(Unauthorized) : 클라이언트가 요청한 리소스에 대한 인증이 실패
      / 403(Forbidden) : 클라이언트가 리소스에 요청권한이 없음
      / 404(Not Found) : 리소스가 없음
    • 5XX => 클라이언트 요청은 유효하나, 서버에서 에서 에러 발생, 처리 실패
      / 500(Internal Server Error) : 서버가 요청을 처리하다가 에러 발생
      / 503(Service Unavailable) : 서버가 과부하로 요청을 처리할 수 없음

HTTPS(Http over Secure socket layer)

HTTP의 약점을 보완하기 위해 TLS(Transport Layer Security)프로토콜을 도입, 서버와 클라이언트 사이 오가는 모든 HTTP 메시지를 암호화. 중간에 탈취하더라도 해석은 불가능, 도청과 변조로부터 보호된다
(👉 RFC 문서 - TLS 표준)

profile
FE, 기록하고 기억하기

0개의 댓글