정보보안 (기술) 52

HTTP 7. 리다이렉션

1. 리다이렉션 이해영구 리다이렉션: 특정 리소스의 UR가 영구적으로 이동/members -> /users/event -> /new-event일시 리다이렉션: 일시적인 변경 주문 완료 후 주문 내역 화면으로 이동PRG: Post/Redirect/Get특수 리다이렉션결과 대신 캐시를 사용2. 영구 리다이렉션 (301, 308)리소스의 URI가 영구적으로 이동원래의 URL을 사용 x, 검색 엔진 등에서도 변경 인지301 Moved Permanently리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있음 (MAY)308 Permanent Redirect301과 기능은 같음리다이렉트시 요청 메서드와 본문 유지 (처음 POST를 보내면 리다이렉트로 유지)3. 일시적인 리다이렉션 (302, 307,..

HTTP6. HTTP 메서드 활용

1. HTTP 메서드 활용클라이언트에서 서버로 데이터 전송HTTP API2. 클라이언트에서 서버로 데이터 전송쿼리 파라미터를 통한 데이터 전송GET주로 정렬 필터(검색어)메시지 바디를 통한 데이터 전송POST, PUT, PATCH회원 가입, 상품 주문, 리소스 등록, 리소스 변경4가지 상황정적 데이터 조회: 이미지, 정적 텍스트 문서조회는 GET 사용정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능동적 데이터 조회: 주로 검색, 게시판 목록에서 정렬 필터 (검색어)조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용조회는 GET 사용GET은 쿼리 파라미터 사용해서 데이터를 전달HTML Form을 통한 데이터 전송: 회원 가입, 상품 주문, 데이터 변경디폴트..

HTTP5. HTTP PUT, PATCH, DELETE

1. PUT (완전히 대체)PUT /members/100 HTTP/1.1Content-Type: application/json{"username":"hello","age":20}리소스를 대체리소스가 있으면 대체리소스가 없으면 생성쉽게 이야기해서 덮어버림중요! 클라이언트가 리소스를 식별클라이언트가 리소스 위치를 알고 URI 지정POST와 차이점2. PATCH리소스 부분 변경3. DELETE리소스 제거4. HTTP 메서드의 속성1. 안전호출해도 리소스를 변경하지 않음2. 멱등한 번 호출하든 두 번 호출하든 100번 호출하든 결과가 똑같다.멱등 메서드GET: 한 번 조회하든, 두 번 조회하든 같은 결과가 조회PUT: 결과를 대체. 따라서 같은 요청을 여러 번 해도 최종 결과는 같음DELETE: 결과를 삭제. ..

HTTP4. HTTP API, GET, POST

회원 정보 관리 API를 만들어라API URI (Uniform Resource Identifier) 설계회원 목록 조회 /read-member-list회원 조회 /read-member-by-id회원 등록 /create-member회원 수정 /update-member회원 삭제 /delete-member가장 중요한 건 리소스 식별리소스의 의미는 뭘까?회원을 등록하고 수정하고 조회하는 게 리소스가 아님ex. 미네랄을 캐라 -> 미네랄이 리소스회원이라는 개념 자체가 바로 리소스리소스를 어떻게 식별하는 게 좋을까?회원을 등록하고 수정하고 조회하는 것을 모두 배제회원이라는 리소스만 식별하면 됨 -> 회원 리소스를 URI에 매핑그래서 설계를 하면 (리소스 식별, URL계층 구조 활용)회원 목록 조회 /members회..

HTTP3. HTTP 기본

1. HTTP모든 것이 HTTP클라이언트 서버 구조Stateful, Stateless비 연결성 (connectionless)HTTP 메시지HTTP 메시지에 모든 것을 전송HTML, TEXT2. 기반 프로토콜TCP: HTTP/1.1, HTTP/2UDP: HTTP/3현재 HTTP/1.1 주로 사용HTTP/2 HTTP/3도 증가3. 클라이언트 서버 구조Request Response 구조클라이언트는 서버에 요청을 보내고, 응답을 대기서버가 요청에 대한 결과를 만들어서 응답4, 비연결성TCP/IP 기본적으로 연결을 유지연결을 유지하는 동안 서버의 자원이 소모HTTP는 기본이 연결을 유지하지 않는 모델일반적으로 초 단위의 이하의 빠른 속도로 응답1시간 동안 수천 명이 서비스를 사용해도 실제 서버에서 동시에 처리하는..

HTTP2. URI

1. URIURL (Resuorce Locator) 리소스가 여기에 위치해 있음URN (Resource Name) 리소스의 이름URL + URN = URI (Resource Indentifier)위치는 변할 수 있지만, 이름은 변하지 않음URN:isbn:8960777331 (어떤 책의 isbn URN)URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화되지 않음앞으로 URL를 URI와 같은 의미로 이야기scheme://[userinfo@] host [:port][/path][? query][#fragment]https://www.google.com:444/serach?q=hello&hl=ko프로토콜 (https)호스트명 (www.google.com)포트번호 (443)패스 (/search), 계층적..

HTTP1. 인터넷 네트워크

1. IP 인터넷 프로토콜지정한 IP 주소 (IP Address)에 데이터 전달패킷(Packet)이라는 통신 단위로 데이터 전달IP 패킷 정보출발지 IP, 목적지 IPIP 프로토콜의 한계비연결성: 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송비신뢰성중간에 패킷이 사라지면?패킷이 순서대로 안 오면?프로그램 구분대상이 서비스 불능, 패킷 전송대상 서버가 패킷을 받을 수 있는 상태인지 모름패킷 소실패킷 전달 순서 문제 발생이런 문제를 해결해 주는 것이 TCP, UDP2. 인터넷 프로토콜 스택의 4 계층네트워크 인터페이스 계층인터넷 계층 - IP전송계층 - TCP, UDP애플리케이션 계층 - HTTP, FTP3. 프로토콜 계층애플리케이션웹 브라우저, 네트워크 게임, 채팅 프로그램SOCKET 라이브러..

네트워크 9. 서브넷팅

1. 서브넷팅의 이해1111 1111 (2) (0~255)c class 0000 0000 은 사용할 수 없음1111 1111도 Broadcast 주소라서 사용할 수 없음따라서 총 2의 8 제곱에서 -2를 해야 함 (254개)192.168.32.0/24가 있을 때 24는 24bit로 네트워크 ID를 의미함서브넷을 나누게 되면 적어도 2개의 주소가 낭비됨네트워크를 분할한 이유? LAN을 분할하기 위해서 (브로드캐스트가 정말 중요) -> ISP 입장

패킷 트레이서 3. 서브넷팅

1. 서브넷팅주어진 네트워크: 192.168.1.0/24이 네트워크를 4개의 서브넷으로 나누어야 함C클래스이기 때문에 24bit까지 부분이 네트워크임따라서 2개의 비트를 네트워크 부분으로 확장192.168.1.xxxx. xxxx1. 192.168.1.0/26 (0-63)2. 192.168.1.64/26 (64-127)3. 192.168.1.128/26 (128-191)4. 192.168.1.192/26 (192)첫 번째 ip에서 0은 네트워크 구조 자체를 가리키고, 63은 브로드캐스팅 주소를 가리킴실제로 할당 가능한 것은 1~62까지 (나머지 ip도 동일한 방식)따라서 마지막 ip는 192.168.1.62/26이 됨라우터 IP를 설정'en' 특권모드 -> 'conf t' 설정 모드로 들어가기 위한 명령어..