본문 바로가기
  • 시 쓰는 개발자

CS 개념47

HTTP 웹 기본 지식 (5) - HTTP 메소드 활용 김영한님의 HTTP 웹 기본지식을 들으며 정리하였습니다. 클라이언트 → 서버 데이터 전송 방법 2가지이 방법은 크게 2가지로 나뉜다.쿼리 파라미터를 통해 데이터 전송   GET에서 사용   주로 검색할 때 사용메세지 바디를 통해 데이터 전송   POST, PUT, PATCH   회원가입, 주문, 등록, 리소스 변경 등 다양함클라이언트 → 서버 데이터 전송 상황 4가지1. 정적 데이터 조회 (이미지, 텍스트)쿼리 파라미터 사용 안함.GET으로 리소스 경로 같이 넘겨주기2. 동적 데이터 조회 (검색이나 정렬필터 등)GET써서 쿼리 파라미터로 데이터 넘겨주기3. HTML Form을 통한 데이터 전송 (회원가입, 주문, 데이터 변경 등) 이런 태그 형태로 보내는 것.GET, POST만 지원함. DELETE, .. 2024. 5. 13.
HTTP 웹 기본 지식 (4) - URI 작명법, HTTP 메소드 김영한님의 HTTP 웹 기본지식을 들으며 정리하였습니다. 리소스란 ?미네랄을 캐라. → 미네랄 자체가 리소스회원 등록하기 → 회원이 리소스URI는 리소스(명사)를 식별할 수 있어야한다.행위는 메소드가(GET, POST ...) 해결해줄 것이고, 리소스는 명사로서 생각한다.좋은 URI 설계 규칙명사로 작성하기. 동사 X (하지만 어쩔 수 없이 동사를 써야하는 경우가 있음. 이걸 컨트롤 URI라고 함.)마지막에는 슬래시를 쓰지 않는다.언더바(_)보다는 하이픈(-)을 사용한다.파일 확장자는 URI에 포함하지 않는다.계층 구조상 /abc/xyz/pq 상위는 컬렉션으로 보고, 복수 단어를 사용하기 권장한다. member → members컨트롤 URI동사로 된 리소스 경로를 의미함./members/{id}/dele.. 2024. 5. 9.
HTTP 웹 기본 지식 (3) - Stateless, Connectionless, http메세지 김영한님의 HTTP 웹 기본지식을 들으며 정리하였습니다. 웹 브라우저 요청 흐름EX) 다음과 같이 요청 날림 https://www.google.com/search?q=Hello&hl=koIP랑 PORT 정보 찾아내고, 이를 토대로 요청 보냄.HTTP 버전 정보와 호스트 정보, 쿼리 정보 등을 GET 요청 보냄그 요청이 Socket 라이브러리 통해서 TCP/IP로 전달되고, 패킷이 생성됨.호스트 서버에서 받아서 패킷 까서 HTTP 메세지 분석응답패킷 생성해서 보냄. 데이터 타입 정보, HTTP 버전, 상태정보(200, 400 등), HTML 길이정보, BODY 내용 등 ...HTTP (Hyper Text Transfer Protocol)모든 것을 담아 전송한다. HTML, 이미지, 음성, 파일, JSON,.. 2024. 5. 7.
HTTP 웹 기본 지식 (2) - DNS, URL 김영한님의 HTTP 웹 기본지식을 들으며 정리하였습니다. DNS (Domain Name System)IP는 기억하기 어렵고, 변경될 수 있기 때문에 DNS라는 전화번호부를 도입.웹페이지 클릭시 해당 도메인 명을 IP 주소로 변환하여 연결해줌.URI (Uniform Resource Identifier) = URL + URN리소스를 식별하는 통합된 방법이다.URI는 Locator(URL)와 Name(URN)으로 분류할 수 있다. 하지만 URN 방식은 보편화 되지 않아서 안쓰이고, URL과 URI를 같은 의미로 이야기함.Uniform : 리소스를 식별하는 통합된 방식Resource : URI로 식별할 수 있는 모든 것Identifier : 다른 항목과 구분하는데 필요한 정보 (EX. 주민번호)URL기본 포멧 .. 2024. 5. 7.
HTTP 웹 기본 지식 (1) - IP, TCP, UDP 김영한님의 HTTP 웹 기본지식을 들으며 정리하였습니다. IP (Internet Protocol)지정한 IP 주소에 패킷이라는 단위로 데이터 전달패킷 : 패키지 + 버킷. 즉, 데이터 보따리라고 생각데이터 송수신에서 송신과 수신은 같은 길이 아니어도 됨. 즉, 데이터 주고받을 때 왔던 길 그대로 되돌아가는 게 아니어도 상관 없음.IP의 한계비연결성 : PC가 꺼져있어도, 못받는상태여도 상관없이 데이터 보냄.비신뢰성 : 중간에 패킷 사라지는 것이나, 패킷 오는 순서 보장 안해줌.패킷 크기가 크면 끊어서 보내주는데(1500바이트 정도), 순서 보장 안해주고 & 전송되는 노드들이 고정이 아니라서 패킷 순서가 꼬일 수 있음.TCP의 특징 (Transmission Control Protocol)TCP가 출발지와 .. 2024. 5. 7.
컴퓨터보안 Intro ~ Network1 요약 >> key 개수 - 대칭암호                   : N명일 때 N*(N-1) / 2 개의 key 필요 - 비대칭 암호 (공개키) : N명일 때 2N개 키가 필요 (공개키-개인키 쌍으로 N개 pairs) >> Access Control 3개 - ACM (표) - ACL - RBAC (계층화 됨) >> HASH의 특징 2개 - One way : pw를 함수에 넣어 해쉬값 생성은 쉽지만, 반대로 해쉬값 보고 pw 알아내긴 어렵다 - Collision-resistant : 같은 해쉬값을 가지는 PW1, PW2가 나올 수도 있긴 한데 매우 매우 어려움. >> HASH 보안 강화기법 2개 - 해시 해서 나온 값을 다시 해시함수로 돌린다. - salt : 임의의 문자열을 덧붙인다. ㄴ Salt 비트 수.. 2024. 4. 26.
컴퓨터보안 - 실습내용 간단 정리 (1) [1주차] 패스워드 크래킹>> 패스워드 크래킹 종류 - Brute-force cracking - Dictionary attacks - Pattern checking >> 패스워드 크래킹 도구  - Cain and Abel - John the Ripper - Hydra - ElcomSoft [2주차] 시저암호, 전치암호 크래킹>> 대칭키 암호의 분류 - 블록 암호 : 메시지를 특정한 크기의 블록으로 나누어 각각 암호화 - 스트림 암호 : 메시지를 비트/바이트 단위로 바로바로 암호화 >> 기본적인 암호 설계 기법 - 치환 암호(substitution cipher) : 각 문자를 다른 문자로 치환하여 암호화 ex) 시저 암호 (Caesar Cipher), 단일 치환 암호, 플레이페어(Playfair) 암호, .. 2024. 4. 25.
컴퓨터 보안 (5) - Malware 시험공부하며 러프하게 정리한 내용이니, 가볍게 참고만 하시길 Malware * 바이러스, 웜, 트로이목마, 루트킷- 전파 : 퍼뜨리는게 목표 (바이러스, 웜)- 은폐 : 자신의 존재를 숨김 (트로이목마, 루트킷) * payload : 소프트웨어로 피해를 주는 모든 행위 * Insider Attacks : 회사 내부 사람이 공격하는 것 * Insider Attacks 방어하는 방법- 단일 실패지점은 피하기- 코드 워크스루 사용 (코드 작성한 프로그래머가 다른 프로그래머에게 발표하는 것)- 권한 제한하기- 물리적 보호 강화- 직원 행동 감시- 소프트웨어 설치 제어 * Backdoor = trapdoor : 특수 커맨드로 예외적인 기능 수행. 평소에는 기능 숨겨놓고 허용 안함.ex) 이스터 에그 * Logic.. 2024. 4. 25.
컴퓨터 보안 (4) - OS Security 2 시험공부하며 러프하게 정리한 내용이니, 가볍게 참고만 하시길 Set-UID Privileged(권한) Programs * Types of Privileged Programs- Daemons : 백그라운드에서 실행되는 프로그램. root 권한이 필요하다.- SET-UID program : 특수 비트가 표시된 프로그램. 일시적으로 상승된 권한을 부여함. (비밀번호 바꾸기 등) * SET-UID Concepts : 2개의 User ID를 가진다.- Real UID (RUID) : 프로세스 실제 소유자를 식별- Effective UID (EUID) : 프로세스의 권한을 식별     일반 프로그램은 RUID = EUID이다.     그러나 SET-UID가 실행되면 달라진다. RUID는 사용자를 나타내지만 EUID.. 2024. 4. 25.