본문 바로가기

Etc169

[HTTP] 기본 - 모든 것이 HTTP 이 글은 김영한 님의 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 수강하며 정리한 글입니다.  HTTPHyperText Transfer Protocol 웹 브라우저상에서 클라이언트와 서버간의 통신을 담당하는 프로토콜문서 간 링크를 통해 연결할 수 있는, HTML를 전송할 수 있다   HTTP 메시지에 모든 것을 전송 • HTML, TEXT • IMAGE, 음성, 영상, 파일 • JSON(서버끼리 통신할 때 사용), XML (API) • 거의 모든 형태의 데이터 전송 가능 • 서버 간에 데이터를 주고 받을 때도 대부분 HTTP 사용 • 지금은 HTTP 시대! HTTP 역사 • HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더X • HTTP/1.0 1996년: 메서드, 헤더 추가 • H.. 2022. 3. 31.
[HTTP] URI와 웹 브라우저 요청 흐름 - 웹 브라우저 요청 흐름 이 글은 김영한 님의 모든 개발자를 위한 HTTP 웹 기본 지식(https://inf.run/2P6x) 강의를 수강하며 정리한 글입니다. DNS를 조회하여 IP를 알아낸다https일 때 PORT는 443이고, 생략할 수 있다HTTP 요청 메시지를 생성한다GET: 데이터 요구path와 query 정보HTTP 버전 정보HOST: 보내는 곳GET /search?q=hello&hl=ko HTTP/1.1Host: www.google.com  패킷 생성TCP/IP 패킷: 출발지 IP, PORT / 목적지 IP, PORT    ⊃ HTTP 메시지(전송 데이터)서버에 요청 패킷이 도착하면 TCP/IP 패킷을 까서 버리고 HTTP 메시지를 해석한다 HTTP 응답 메시지HTTP/1.1 200 OKContent-Type: .. 2022. 3. 31.
[HTTP] URI와 웹 브라우저 요청 흐름 - URI 이 글은 김영한 님의 모든 개발자를 위한 HTTP 웹 기본 지식(https://inf.run/2P6x) 강의를 수강하며 정리한 글입니다.  URIUniform Resource Identifier, 자원 식별하는 통합된 방법  Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음)                     웹 브라우저의 HTML, 실시간 교통 정보 등 우리가 구분할 수 있는 모든 것 URL? URN?"URI는 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다"https://www.ietf.org/rfc/rfc3986.txt - 1.1.3. URI, URL, and URN • URL: 리소스가 있는 위치를 지정• URN: 리소스에 이름을 부여• 위치는 .. 2022. 3. 31.
[HTTP] 인터넷 네트워크 - IP 이 글은 김영한 님의 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 수강하며 정리한 글입니다. 클라이언트와 서버 사이의 많은 노드들은 네트워크를 중간에서 연결해 주는 서버이다. IP 인터넷 프로토콜 역할지정한 IP 주소(IP Address)에 데이터 전달패킷(Packet)이라는 통신 단위로 데이터 전달 IP  패킷 정보출발지 IP, 목적지 IP, 기타 정보들로 전송 데이터를 감싼다. IP 프로토콜의 한계비연결성: 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송(대상 서비스의 상태를 모름)비신뢰성: 중간에 패킷이 사라지면?(중간 서버의 문제나 케이블 손상 등),                패킷이 순서대로 안오면?(패킷의 크기가 커서 대략 1,500Byte로 나눠서 전송한다고 가정)프로그램 구.. 2022. 3. 30.
[JAVA] 백준 4673번: 셀프 넘버 💡 구현 방식: 1부터 10000까지 검사한 뒤, 해당 수를 생성자로 하는 수가 있으면 그 수를 거른다. public class Main { public static void main(String[] args) { boolean[] check = new boolean[10001]; for(int i=1; i 2022. 2. 3.
[JAVA] 백준 8958번: OX퀴즈 / length와 length(), size()의 차이 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] question = new String[sc.nextInt()]; for(int i=0; i 2022. 1. 27.