본문 바로가기
반응형

전체 글181

HTTP 알아보기 4 - 헤더 HTTP Header header-field = field-name ":" OWS field-value OWS (OWS: 띄어쓰기 허용) field-name 대소문자 구문 없음 HTTP 전송에 필요한 모든 부가 정보 예) 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보... 표준 헤더가 매우 많음 필요시 임의의 헤더 추가 가능 분류 - General 헤더: 메시지 전체에 적용되는 정보, 예) Connection: close - Request 헤더: 요청 정보, 예) User-Agent: Mozilla/5.0 (Macintosj; ..) - Response 헤더: 응답 정보, 예) Server: Apache - Entity 헤더: 엔티티 바디 정보, .. 2022. 4. 15.
HTTP 알아보기 3 - 상태 코드 HTTP 상태 코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx (Informational): 요청이 수신되어 처리 중. 2xx (Successful): 요청 정상 처리. 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요할 때 4xx (Client Error): 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없을 때 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못하는 상태. 따라서 인식할 수 없는 상태 코드를 서버가 반환하면 클라이언트는 상위 상태 코드로 해석해서 처리하면 된다. 예를 들어, 299번의 모르는 코드가 오면 2xx코드 (Successful, 정상 처리)로 처리하면 된다. 1xx (Infromation.. 2022. 4. 14.
HTTP 알아보기 2 - 메서드, API HTTP 메서드 HTTP API를 만든다고 가정해보자. 따라서 회원 정보 관리 API를 만들어 보았다. 회원 목록 조회 (/read-member-list) 회원 조회 (/read-member-by-id) 회원 등록 (/create-member) 회원 수정 (/update-member) 회원 삭제 (/delet-member) 해당 방법처럼 만드는 경우가 있는데 위의 방법은 좋지 않은 방법이다. URI는 리소스 식별!!, URI 계층 구조를 활용해야 한다. 리소스란? - 회원을 등록하고 수정하고 조회하는 것이 리소스가 아님. - 회원이라는 개념 자체가 바로 리소스 리소스를 식별하는 방법 - 회원을 등록하고 수정하고 조회하는 것을 모두 배제 - 따라서 회원이라는 리소스만 식별하면 된다. -> 회원 리소스를 U.. 2022. 4. 13.
HTTP 알아보기 1 - 특징, 메시지 HTTP(HyperText Transfer Protocol) 하이퍼텍스트 문서 간 링크를 통해 전송 HTTP 메시지에 모든 것을 전송한다 HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML(API) 거의 모든 형태의 데이터 전송 가능함 서버 간에 데이터를 주고받을 때도 대부분 HTTP 사용한다. 역사 HTTP/0.9 (1991년): GET 메서드만 지원, HTTP 헤더 X HTTP/1.0 (1996년): 메서드, 헤더 추가 HTTP/1.1 (1997년): 가장 많이 사용하는 버전 - TCP 사용 - RFC2068 (1997) > RFC2616(1999) > RFC7230~7235(2014) HTTP/2 (2015년): 성능 개선 - TCP사용 HTTP/3 (2020년~): TCP대신 U.. 2022. 4. 13.
URI, URL, URN URI (Uniform Resource Identifier) URI는 로케이터(Locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다. (https://www.ietf.org/rfc/rfc3986.txt - 1.1.3. URI, URL, and URN) Uniform: 리소스를 식별하는 통일된 방식 Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음) Identifier: 다른 항목과 구분하는데 필요한 정보 URL Locator로 리소스가 있는 위치를 지정한다. 변할 수 있다. 보통 URI라고 말하면 URL을 뜻한다. URL : scheme://[userinfo@]host[:port][/path][?query][#fragment] userinfo@ - 사용자 인증정보 - .. 2022. 4. 12.
IP, TCP/UDP, DNS 패킷 교환(IP - Internet Protocol, 인터넷 프로토콜) 독립적인 다양한 형태의 네트워크를 엮어내겠다는 아이디어에서 시작했다. 따라서 기존의 전화망 이외에 위성을 사용한 통신망, 지상의 무선 네트워크도 모두 포괄해야 했기 때문에 선을 연결해서 하는 전화망 타입인 회선교환이 아닌 데이터를 패킷으로 쪼개 교환하는 방법을 택해였다. 이에 따라 다양한 네트워크에서 사용하는 통신 규칙이 (패킷의 틀과 같은) 필요했다. 이렇게 만들어진 것이 바로 IP(Internet Protocol)이다. 다양한 네트워크를 노드라고 부르기로 하였고 모든 노드들을 유기적으로 연결했다. 이러한 노드들을 통해서 나의 메시지(패킷)를 전달하기 위해서는 주소가 필요하다. (마치 우체국을 통해서 우편을 보낼때 상대방의 주소를 .. 2022. 4. 11.
피보나치 수를 구하는 다양한 방법 알고리즘 문제를 풀다 보니 피보나치 수를 구하는 방법이 상당히 많다. 따라서 이 피보나치 수로 배울 수 있는 알고리즘이 다양하기에 한번 정리를 해보려고 한다. 피보나치 수열이란? 기원전 5세기 인도의 수학자 핑갈라가 쓴 책에서 처음 언급 됐으며 유럽에서 레오나르도 피보나치가 토끼 수의 증가에 대해서 이야기 하면서 유명해졌다. 해당 내용은 n번째 달의 토끼 쌍의 수는 첫 달에는 새로 태어난 토끼 한 쌍만이 존재한다. 두 달 이상이 된 토끼는 번식이 가능하다. 번식 가능한 토끼 한 쌍은 매달 새끼 한 쌍을 낳는다. 토끼는 죽지 않는다 이 문제를 통해서 나온 것이 바로 피보나치 수열이다. 첫 번째 달, 두 번째 달 까지는 1쌍이 존재할 것이다. 세 번째 달이 되면서 토끼가 번식이 가능해지면서 2쌍이 되고 3번.. 2022. 4. 6.
백준 11444: 피보나치 수 6 (파이썬) 문제: https://www.acmicpc.net/problem/11444 11444번: 피보나치 수 6 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 코드 # https://teching.tistory.com/ import sys def matrixMultiple(matrix1, matrix2): res = [[0]*len(matrix2[0]) for _ in range(len(matrix1))] for i in range(len(matrix1)): for j in range(len(matrix2[0])): for k in range(len(matrix1[0])): res[i][j] += matrix1[i][k] .. 2022. 4. 6.
백준 2740: 행렬 곱셈 (파이썬) 문제: https://www.acmicpc.net/problem/2740 2740번: 행렬 곱셈 첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개 www.acmicpc.net 코드 #https://teching.tistory.com/ import sys n1, m1 = map(int, sys.stdin.readline().split()) matrix1 = [list(map(int, sys.stdin.readline().split())) for _ in range(n1)] n2, m2 = map(int, sys.stdin.readline().sp.. 2022. 4. 5.
반응형