전체 글(63)
-
HTTP 메서드 활용
클라이언트에서 서버로 데이터 전송 데이터 전달 방식 2가지 - 쿼리 파라미터를 통한 데이터 전송 : GET(주로 정렬 필터) - 메시지 바디를 통한 데이터 전송 : POST, PUT, PATCH(회원 가입, 상품 주문 등) 4가지 상황 정적 데이터 조회 - 이미지, 정적 텍스트 문서 - 조회는 GET 사용 - 정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능 동적 데이터 조회 - 주로 검색, 게시판 목록에서 정렬 필터(검색어) - 조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용 - 조회는 GET 사용 - GET은 쿼리 파라미터 사용해서 데이터를 전달 ※ 동적 데이터 : 서버에서 실시간으로 적용 되어지는 데이터 정적 데이터 : 메모리에 데이터를 올려놓은..
2023.01.22 -
HTTP 메서드
HTTP API URI 설계 : 가장 중요한 것은 리소스 식별!!!!! - 리소스란? ex) '미네랄을 캐라' -> 미네랄이 리소스 - 계층 구조상 상위를 컬렉션으로 보고 복수 단어 사용 권장(member -> members) - 리소스와 해당 리소스를 대상으로 하는 행위를 분리 - 리소스(회원), 행위(조회, 등록, 수정, 삭제) - 리소스는 명사, 행위는 동사 HTTP 메서드 - GET, POST GET - 리소스 조회 - 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터, 스트링)를 통해서 전달 POST - 요청 데이터 처리 - 메시지 바디를 통해 서버로 요청 데이터 전달 - 서버는 요청 데이터를 처리(메시지 바디를 통해 들어온 데이터를 처리하는 모든 기능 수행) - 단순히 데이터를 생성하거나..
2023.01.22 -
HTTP 기본
HTTP(HyperText Transfer Protocol) 모든 것이 HTTP - HTTP 메시지에 모든 것을 전송 - HTML, TEXT, IMAGE, 음성, 파일, 영상, JSON, XML 등 거의 모든 형태의 데이터 전송 가능 * HTTP 역사 - HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더X - HTTP/1.0 1996년: 메서드, 헤더 추가 - HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전 - HTTP/2 2015년: 성능 개선 - HTTP/3 진행중: TCP 대신에 UDP 사용, 성능 개선 HTTP 특징 클라이언트 서버 구조 - 클라이언트는 서버에 요청을 보내고, 응답을 대기 - 서버가 요청에 대한 결과를 만들어서 응답 무상태 프로토콜(Stat..
2023.01.22 -
URI와 웹 브라우저 요청 흐름
URI(Uniform Resource Identifier) - Uniform : 리소스 식별하는 통일된 방식 - Resource : 자원, URI로 식별할 수 있는 모든 것 - Identifier : 다른 항목과 구분하는데 필요한 정보 URL(Uniform Resource Locator) : 리소스가 있는 위치를 지정 URN(Uniform Resource Name) : 리소스에 이름을 부여 - 위치는 변할 수 있지만, 이름은 변하지 않음 - URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않음 #URL 전체 문법 scheme://[userinfo@]host[:port][/path][?query][#fragment] ex) https://www.google.com:443/search?q=..
2023.01.22 -
인터넷 네트워크
인터넷 통신 클라이언트와 서버 사이에는 복잡한 노드로 이어진 인터넷 망이 있어 데이터를 안전하게 전송하기 위한 방법을 생각해봐야 한다. IP(인터넷 프로토콜) - 지정한 IP 주소(IP Address)에 데이터 전달 - 패킷(Packet)이라는 통신 단위로 데이터 전달 - 클라이언트와 서버 사이에 있는 인터넷 망은 수많은 노드들로 구성되어 있는데, 그중에서 목적지 IP로 갈 수 있는 노드들을 통해 데이터가 전송된다. # IP 프로토콜의 한계 - 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송(클라이언트는 대상 서버가 패킷을 받을 수 있는 상태인지 모르고 일단 패킷을 전송한다.) - 비신뢰성 : 중간에 패킷이 사라질 수 있는 패킷 손실이나 패킷이 순서대로 오지 않는 순서 보장 문제가..
2023.01.22 -
16. 파일 전송
FTP 로그인 원격 시스템에 접속하려면 FTP 서버에 등록된 로그인 계정과 암호가 필요 다중 사용자에게 파일 서비스를 제공하려고 불특정 다수에게 로그인 계정을 일일이 부여하는 것은 현실적으로 불가능 익명 FTP 로그인 : 다중 사용자를 위한 로그인 계정(로그인 계정 : annonymous, 암호 : 관례상 자신의 메일 주소) FTP 프로토콜 2개의 채널 존재 : 제어 채널(FTP 프로토콜의 명령과 응답 전송), 데이터 채널(복사하려는 파일의 내용 전송) 사용자 인터페이스 모듈 : 사용자 명령을 해석하여 명령 송수신 모듈에 전달 명령 송수신 모듈 : 제어 채널 설정, 사용자 명령을 FTP 명령으로 전환하여 제어 채널로 전송 파일 송수신 모듈 : 파일 송수신 요구가 발생할 때마다 데이터 채널 설정, 데이터 ..
2022.12.21