한화시스템 BEYOND SW CAMP 12기_1

Ryoni·2024년 11월 22일
0
  • Domain 수업

리눅스 : 윈도우랑 비슷한 거
명령어 : 프로그램
서버 : 서비스를 제공하는 프로그램
클라이언트 : 서비스를 이용하는 프로그램
IP 주소 :

local DNS는 총 세 개로 나뉘게 되는데
루트 DNS(.) 전세계 13대
최상위 DNS(.com)
책임 DNS(ddarahakit.com)

domain.gabia.com
chat.com -> 210억,,, chat GPT가 인수..
이런 걸 미리 선점했어야..ㅠ

도메인은 뒤에서 앞으로 순차적으로 변경되게 된다.

7계층 프로토콜 HTTP


이런 걸 배우게 된다고 하셨다,,,


✨ Request Line - 클라이언트가 "클릭"을 했을 때 요청하는 값을 확인할 수 있음

HTTP 요청 프로토콜의 구조
요청타입 / 공백 / URI / 공백 / HTTP 버전
요청타입 - RestAPI

✨ GET 과 POST는 꼭 알아야 한다


GET - 나한테 웹툰 보여줘 할 때
POST - 클라이언트가 서버한테 뭐 보낼 때 ex> 로그인 할 때

GET 방식은 서버한테 url(주소창)을 통해서 전달
POST는 보이지 않게 전달

중요한 정보는 POST 방식으로, 중요하지 않은 경우에는 GET 방식으로 전달한다.

GET 방식은 .get / getMapping
POST 방식은 put, patch 를 사용하여 실제 코딩

URL / URI

https - 어떤 양식으로 데이터를 주고 받을 것인지 작성
http, ssh, ftp, mysql 등
:// - 아무 의미 없긔 개발한 사람도 후회한다고 함ㅎ 밥오ㅎ
IP주소:포트 - 웬만하면 포트번호는 항상 쓴다고 생각하기

URL - Uniform Resource Identifier
URL - Uniform Resource Locator 자원의 위치를 통일시키겠다
ip 주소로 찾아간 특정 프로그램의 특정한 위치를 통일

nginx의 root가 설정된 값에 따라 URL을 작성할 내용이 변경 된다
e.g.) nginx root : /var/www/html
경로 : abc/def/ghi.html
포트번호/abc/def/ghi.html하면 접속 가능

클라이언트와 서버가 통신하지 못할 때 생각할 수 있는 오류

  • 요청타입 오류
  • 서버는 http인데 https 라고 작성 했을 때
  • 도메인 주소 오류
  • 서버의 IP 주소 사설인데 포트포워딩이나 공인IP 안 했을 때
  • 서버의 포트번호 오류
  • 서버의 경로 지정 오류


상태코드 404 와 상태문구 Not Found는 짝꿍


200번대, 400번대, 500번대만 알고 있고 그 다음이 300번대 100번대는 쌤도 본 적 없다고 하심

200번대 - 200만 알면 되지만 볼 일이 없음 왜냐면 정상적으로 주고 받았기 때문 (개발자도구에서 Status 확인)

400번대 / 500번대 왜 안 되는지 크게 두 가지로 나뉨

400 - 클라이언트 잘못
403 - Forbbidon : client가 권한이 없는 페이지를 요청했을 때

  • /abc/def/ghi.html 이 경로에서 abc/ 까지만 하면 폴더 목록을 요청하기 때문에 403 Forbbidon이 뜸

404 - Not Found : client가 서버에 없는 페이지를 요청했을 때

  • /abc/def/ghi.html 이 경로에서 ghi.html이 아닌 abc.html 파일 요청할 때 없기 때문에 404 Not Found가 뜸

405 - method not allowed : 서버가 GET으로 되어 있는데 POST를 요청하거나 POST로 되어 있는데 GET 방식으로 요청할 때 발생

500 - 서버 잘못 (명백한 개발자 잘못^^,, 응 니 코드 이상하니까 고쳐)
500 - Internal Server Error : 개발 잘못했을 때..^^;
503 - Service Unavailable : 최대 Session 수를 초과했을 때

요청용 header / 응답용 header가 각각 따로 존재

웹 브라우저에 저장되는 정보들


개발자도구 - Application - Cookie에 Http, Secure에 체크가 되어 있는지 확인 해야 된다
안 그러면 내 로그인 정보 빼가서 다른 컴에서 로그인 할 수도 있음😕

SSL

🔒암호화 - 평문을 인가된 사용자가 아니면 알아볼 수 없는 글자로 바꾸는 것
🔓복호화 - 암호화한 암호문을 평문으로 바꾸는 것

인증서 : 도메인과 공개키를 인증해주는 것

단방향 암호화(해시 알고리즘) : 평문을 암호문으로 바꾸는데 복호화할 수 없음
e.g.)abcdefg 중 몇 개를 버려서 acdf 이런식으로 바꾸는 것
MD5, SHA 등
무결성 검증을 위해 사용(결점이 없는 성질 파악)
고객의 민감 정보를 저장할 때 사용 (비밀번호)

양방향 암호화 : 암호화 복호화 다 가능한 것
대칭키 : 암호화 할 때 키와 복호화 할 때 키가 같은 것, 빠르다
비대칭키(공개키) : 암호화 할 때 키와 복호화 할 때 키가 다른

모든 사람은 본인의 공개키사설키를 가질 수 있다.
공개키는 요청하는 누구에게든 공유한다.
사설키누구에게도 공유하지 않는다.
공개키로 암호화 했으면 같은 쌍의 사설키로만 복호화를 할 수 있다.
반대로 사설키로 암호화 했으면 같은 쌍의 공개키로만 복호화를 할 수 있다.

신뢰할 수 있는 기관(KISA, Yessign 등)에서 도메인주소와 해당 주소의 공개키를 인증

랜덤하게 주고받은 값을 이용해서 대칭키를 생성
주고받을 데이터를 대칭키로 암복호화 하면서 통신한다.
대칭키가 잘 생성 됐는지 확인하기 위해 단방향 암호화를 사용

profile
비전공자 개발자는 술로 코딩한다

0개의 댓글