리눅스 : 윈도우랑 비슷한 거
명령어 : 프로그램
서버 : 서비스를 제공하는 프로그램
클라이언트 : 서비스를 이용하는 프로그램
IP 주소 :
local DNS는 총 세 개로 나뉘게 되는데
루트 DNS(.) 전세계 13대
최상위 DNS(.com)
책임 DNS(ddarahakit.com)
domain.gabia.com
chat.com -> 210억,,, chat GPT가 인수..
이런 걸 미리 선점했어야..ㅠ
도메인은 뒤에서 앞으로 순차적으로 변경되게 된다.
이런 걸 배우게 된다고 하셨다,,,
✨ Request Line - 클라이언트가 "클릭"을 했을 때 요청하는 값을 확인할 수 있음
HTTP 요청 프로토콜의 구조
요청타입 / 공백 / URI / 공백 / HTTP 버전
요청타입 - RestAPI
✨ GET 과 POST는 꼭 알아야 한다
GET - 나한테 웹툰 보여줘 할 때
POST - 클라이언트가 서버한테 뭐 보낼 때 ex> 로그인 할 때
GET 방식은 서버한테 url(주소창)을 통해서 전달
POST는 보이지 않게 전달
중요한 정보는 POST 방식으로, 중요하지 않은 경우에는 GET 방식으로 전달한다.
GET 방식은 .get / getMapping
POST 방식은 put, patch 를 사용하여 실제 코딩
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하면 접속 가능
상태코드 404 와 상태문구 Not Found는 짝꿍
200번대, 400번대, 500번대만 알고 있고 그 다음이 300번대 100번대는 쌤도 본 적 없다고 하심
200번대 - 200만 알면 되지만 볼 일이 없음 왜냐면 정상적으로 주고 받았기 때문 (개발자도구에서 Status 확인)
400번대 / 500번대 왜 안 되는지 크게 두 가지로 나뉨
400 - 클라이언트 잘못
403 - Forbbidon : client가 권한이 없는 페이지를 요청했을 때
404 - Not Found : client가 서버에 없는 페이지를 요청했을 때
405 - method not allowed : 서버가 GET으로 되어 있는데 POST를 요청하거나 POST로 되어 있는데 GET 방식으로 요청할 때 발생
500 - 서버 잘못 (명백한 개발자 잘못^^,, 응 니 코드 이상하니까 고쳐)
500 - Internal Server Error : 개발 잘못했을 때..^^;
503 - Service Unavailable : 최대 Session 수를 초과했을 때
요청용 header / 응답용 header가 각각 따로 존재
웹 브라우저에 저장되는 정보들
개발자도구 - Application - Cookie에 Http, Secure에 체크가 되어 있는지 확인 해야 된다
안 그러면 내 로그인 정보 빼가서 다른 컴에서 로그인 할 수도 있음😕
🔒암호화 - 평문을 인가된 사용자가 아니면 알아볼 수 없는 글자로 바꾸는 것
🔓복호화 - 암호화한 암호문을 평문으로 바꾸는 것
인증서 : 도메인과 공개키를 인증해주는 것
단방향 암호화(해시 알고리즘) : 평문을 암호문으로 바꾸는데 복호화할 수 없음
e.g.)abcdefg 중 몇 개를 버려서 acdf 이런식으로 바꾸는 것
MD5, SHA 등
무결성 검증을 위해 사용(결점이 없는 성질 파악)
고객의 민감 정보를 저장할 때 사용 (비밀번호)
양방향 암호화 : 암호화 복호화 다 가능한 것
대칭키 : 암호화 할 때 키와 복호화 할 때 키가 같은 것, 빠르다
비대칭키(공개키) : 암호화 할 때 키와 복호화 할 때 키가 다른 것
모든 사람은 본인의 공개키와 사설키를 가질 수 있다.
공개키는 요청하는 누구에게든 공유한다.
사설키는 누구에게도 공유하지 않는다.
공개키로 암호화 했으면 같은 쌍의 사설키로만 복호화를 할 수 있다.
반대로 사설키로 암호화 했으면 같은 쌍의 공개키로만 복호화를 할 수 있다.
신뢰할 수 있는 기관(KISA, Yessign 등)에서 도메인주소와 해당 주소의 공개키를 인증
랜덤하게 주고받은 값을 이용해서 대칭키를 생성
주고받을 데이터를 대칭키로 암복호화 하면서 통신한다.
대칭키가 잘 생성 됐는지 확인하기 위해 단방향 암호화를 사용