ETC/CS

    [모든 개발자를 위한 Http 웹 기반기술] HTTP 상태코드

    상태코드 1xx(informational) : 요청이 수신되어 처리중 2xx(Successful) : 요청 정상 처리 3xx(Redirection): 요청을 완료하려면 추가 행동이 필요 4xx(Client Error) : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5xx(Server Error): 서버오류, 서버가 정상 요청을 처리하지 못함 2XX 클라이언트의 요청을 성공적으로 처리 200 : 요청 성공 201 : created 요청 성공해서 새로운 리소스가 생성됨 204: No content 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음 3xx 리다이렉션 영구 리다이렉션 - 특정 리소스가 URI가 영구적으로 이동 원래의 URL를 사용하지 않음, 검..

    [모든 개발자를 위한 Http 웹 기반기술] HTTP API

    리소스의 의미? 회원을 등록하고 수정하고 조회하는게 리소스가 아님 회원이라는 개념 자체가 바로 리소스 리소스 식별? 회원을 등록하고 수정하고 조회하는 것을 모두 배제 회원이라는 리소스만 식별한다. -> 회원 리소스를 URL에 매핑 리소스와 행위를 분리할것 URI는 리소스만 식별 리소스와 해당 리소스를 대상으로 하는 행위를 분리 리소스: 회원 행위: 조회, 등록, 삭제, 변경 리소스는 명사, 행위는 동사 행위는 메소드로구분 HTTP 메서드 종류 GET: 리소스 조회 POST: 요청 데이터 처리, 주로 등록에 사용 PUT: 리소스를 대체, 해당 리소스가 없으면 생성 PATCH: 리소스 부분 변경 DELETE: 삭제 HEAD: GET과 동일하지만 메시지 부분을 제외하고, 상태 줄과 헤더만 반환 OPTIONS:..

    [모든 개발자를 위한 Http 웹 기반기술] HTTP 기본

    HTTP 특징 클라이언트 서버 구조 Request Response구조 클라이언트는 서버에 요청을 보내고, 응답을 대기 서버가 요청에 대한 결과를 만들어서 응답 무상태 프로토콜 서버가 클라이언트의 상태를 보존하지 않는다 무상태는 응답 서버를 쉽게 바꿀 수 있다. -> 무한한 서버 증설 가능 (요청에 모든 요청 데이터를 가지고 있기 때문에) 만약 상태유지의 특성을 가지게 된다면, 요청에 대해 항상 같은 서버가 유지되어야 한다 -> 증설이 쉽지 않음 모든 것을 무상태로 설계 할 수 있는 경우도 있고 없는 경우도 있다. 무상태 예) 로그인이 필요 없는 단순한 서비스 소개 화면 상태 유지 예) 로그인 비연결 성 HTTP 기본이 연결을 유지하지 않는 모델 일반적으로 초 단위의 이하의 빠른 속도로 응답 1시간 동안 ..

    [모든 개발자를 위한 Http 웹 기반기술] URI

    URI(Uniform Resource Identifier) Uniform : 리소스 식별하는 통일된 방식 Resource: 자원, URI로 식별할 수 있는 모든것(제한 없음) Identifier: 다른 항목과 구분하는데 필요한 정보 URL- Locator: 리소스가 있는 위치 지정 URN - Name : 리소스에 이름을 부여 URI와 URL이 사실상 같은 의미로 사용됨 URL분석 scheme://[userinfo@]host[:port][/path][?query][#fragment] https://www.google.com:443/search?q=hello&hl=ko 프로토콜(https) 호스트명(www.google.com) 포트 번호(443) 패스(/search) 쿼리 파라미터(q=hello&hl=ko)..

    [모든 개발자를 위한 Http 웹 기반기술] PORT, DNS

    한번에 둘 이상 연결해야 하면? 요청이 들어왔을때, 해당 요청이 어느 포트로 도착해야하는지에 대한 정보 즉 같은 IP내에서 프로세스를 구분지어주는 것 (ex 카카오톡 8888포트, 네이버 라인 2233포트 이런식으로 있을때, 해당 요청이 프로그램에 도착해야하는지를 구분 지어주는것이 포트이다) 클라이언트가 보내는 위와 같은 요청에 출발지 PORT와 목적지 PORT가 위에 해당 하는 내용이다. PORT 0~65535: 할당이 가능 0~1023: 잘 알려진 포트, 사용하지 않는것이 좋음(이미 시스템이 사용하고 있는 포트가 대부분) FTP - 20,21 TELENT - 23 HTTP - 80 HTTPS - 443 DNS (도메인 네임 서버) IP주소는 언제든지 바뀔수 있다. 그렇기 때문에 도메인을 사용함 만약 ..

    [모든 개발자를 위한 Http 웹 기반기술] IP, TCP, UPD

    IP(인터넷 프로토콜) 지정한 IP 주소에 데이터 전달 패킷이라는 통신 단위로 데이터 전달 IP 프로토콜의 한계 비연결성 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 비신뢰성 중간에 패킷이 사라지면? 패킷이 순서대로 안오면? 프로그램 구분 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면? TCP, UDP 인터넷 프로토콜 스택의 4계층 계층 예 애플리케이션 계층 HTTP, FTP 전송계층 TCP, UDP 인터넷 계층 IP 네트워크 인터페이스 계층 TCP특징(전송 제어 프로토콜) 연결지향 - TCP 3 way handshake(가상연결) 클라이언트가 서버쪾으로 SYN(접속 요청)로 보냄 서버가 클라이언트로 SYN +ACK(요청수락) 응답을 보냄 클라이언트가 다시 ACK 보냄 ..