HTTP 메서드HTTP 메서드 종류GET일반적인 서버의 리소스 조회 시 사용쿼리 스트링(Query String)에 {key}={value} 형태로 서버에 데이터를 전송할 수 있음데이터가 URI에 그대로 노출되기 때문에 보안성에 취약함HTTP Message exampleGET /api/users/1 HTTP/1.1Host: example.com 💡 GET도 Message Body에 요청 데이터를 담아서 보낼 수 있지만 나중에 추가된 스펙이기 때문에 지원이 안될 수 있다.POST서버에 데이터를 전송해 새로운 리소스를 생성하거나 특정 프로세스를 처리하는 등 리소스마다 정해진 방식에 따라 처리Message Body에 다양한 방식으로 데이터를 담아서 보낼 수 있음(요즘은 JSON이 거의 표준)애매하..
HTTP가 무엇인가요HTTP는 HyperText Transfer Protocol로 문자 그대로 HTML 문서를 주고받을 때 사용하는 프로토콜이다. 요즘은 웹에서 이루어지는 통신 대부분이 HTTP로 행해지며, HTML 뿐만 아니라 음성, 동영상, 메일 등의 다양한 데이터도 HTTP로 통신된다. 현재 전 세계 인터넷 구조의 절대적 위치를 차지하는 World Wide Web(W3)이 HTTP를 사용하기 때문에 웹 서비스 개발자에게 HTTP는 알아야 할 필수 프로토콜이다.HTTP가 왜 이렇게 크게 성공하고, 현재까지 범용적으로 사용되고 있는지 이해하기 위해서는 먼저 HTTP가 가지고 있는 특성이자 장점들을 알아야 한다.Client - Server 모델HTTP는 클라이언트-서버 아키텍처를 기반으로 한다. 클라이언..
링크 계층에서의 전송(1홉 통신) 시 문제 의식 우리가 네이버에서 제공하는 서비스들을 이용하려면 먼저 네이버 서버와 통신을 해야 하고, 그 방법들 중 가장 보편적으로 www.naver.com 의 도메인 주소로 접속합니다. www.naver.com이란 도메인은 DNS 서버에서 매핑되어 있는 네이버의 ip로 바꿔 전송해 줍니다. 즉, 우리는 네이버의 ip주소를 이용해 네이버 서버와 통신을 하게 되는 것이고, 이는 네트워크 계층 통신이라고 이해할 수 있습니다. 실제 네트워크 계층은 Internet Protocol을 이용하고, 이 ip를 통해 멀티홉 통신을 합니다. 하지만 네트워크 통신의 계층적 구조를 생각해 보면, 멀티홉 통신을 하기 위해서는 결국 1홉 통신이 먼저 가능해야 합니다. 어떻게 보면 멀티홉 통신은..
Layered Architecture OSI 7 계층에 대해 공부하기 전에, 우리는 네트워크 통신을 왜 7개나 되는 계층으로 나눈 것인가에 대해 궁금해야 합니다. 이에 대한 답을 우리 일상 생활에서 예를 들어 보겠습니다. 우리가 어딘가로 비행기를 타고 여행을 가야하는 상황이라고 생각해 보겠습니다. 먼저 티켓을 구매하고, 짐을 붙입니다. 그런 다음 게이트를 통과하고 비행기에 탑승 후 목적지로 출발합니다. 목적지에 도착을 하면 전의 과정들을 역순으로 행하면서 공항을 빠져나갑니다. 여기서 우리가 거치는 각각의 단계들은 기능별로 나뉘어 있습니다. 티켓을 사거나 확인하는 작업은 매표소에서 이루어지고, 짐을 붙이는 작업은 체크인 카운터 같은 곳에서 행해집니다. 이처럼 단계별로 행해지는 서비스도 다르고 직원들도 다릅..
소켓이란 소켓은 논리적으로 컴퓨터 네트워크를 경유하는 프로세스 간 통신의 종착점이다. 이 말이 무슨 말이냐면, 네트워크를 이용해 데이터를 송수신 하고 싶은 프로그램들은 소켓을 거쳐야 한다는 것이다. 따라서 아래와 같은 위치에 소켓 레이어가 놓이게 된다. 네트워크 응용 프로그램들은 소켓을 거쳐 데이터를 통신 망으로 전달함으로써 데이터를 송수신 하게 된다. 여기서 응용 프로그램은 어플리케이션 계층, 통신 망은 전송계층이므로 소켓은 그 사이에 놓이게 된다. 즉 소켓은 응용 프로그램에서 TCP/IP를 이용하는 인터페이스 역할을 한다. 소켓의 특징 파일과 비슷한 데이터 타입 소켓은 파일 디스크립터와 비슷한 형식의 데이터로 생성과 설정 과정이 끝나면 이를 이용하여 통신과 관련된 다양한 작업을 할 수 있는 간편한 데..
본 내용은 재학 중인 학교 강의에 개인적인 공부를 더한 흔적입니다. 때문에 제가 조금은 오해한 부분이 있을 수 있습니다. 발견하실 경우 댓글로 남겨주시면 정말 감사하겠습니다 !! (책은 Computer_Networking_A_Top Down_Approach를 참고했습니다) 위의 그림은 두 End system H1과 H2가 통신하는 모습을 보여주고 있습니다. H1은 5 계층을 거쳐 전송하고자 하는 데이터를 캡슐화 해 전송합니다. 전송 계층의 segment를 네투워크 계층에서 캡슐화를 거쳐 datagram으로 만든 후 링크로 전송하면 가장 가까운 라우터 R1이 먼저 패킷을 수신하는데, 이 R1은 네트워크 계층까지만 구현되어 있습니다. 하지만 무리없이 R2에게 패킷을 전송하고 H2까지 전달됩니다. 즉, 데이터..
raw_sniffer.py를 사용한 패킷 분석 (raw_sniffer.py 소스 코드는 제 것이 아니라서 다음에 분석할 때 부분적으로 올리겠습니다.) - 문자열 전송 - 패킷 캡처 - 패킷 영역 나누기 Ø Ethernet header 1.Destination(MAC address) : 00:00:00:00:00:00 (loop back) 2.Source(MAC address) : 00:00:00:00:00:00 (loop back) 3.Type : IPv4 0x0800 (해당 영역의 값이 0x0600 이상이면 Ethernet 2.0의 Type으로 해석하고, 0x0600 미만이면 IEEE 802.3의 Length로 해석한다. 따라서 패킷은 Ethernet 2.0 프레임의 IP 프로토콜) Ø IP heade..
본 내용은 재학중인 학교 강의에 개인적인 공부를 더한 흔적입니다. 때문에 제가 조금은 오해한 부분이 있을 수 있습니다. 발견하실 경우 댓글로 남겨주시면 정말 감사하겠습니다 !! (책은 Computer_Networking_A_Top-Down_Approach를 참고했습니다) 참고 : Packet switching vs Circuit switching Store-and-Forward 패킷 스위칭 네트워크에서는 라우터가 패킷을 온전히 다 수신한 후 저장을 한다. 그런 다음 아웃 바운드 링크(전송하는 쪽의 링크)로 패킷을 내보낼 수 있다. 이 방식이 store-and-forward 방식으로 패킷 스위칭에서는 필수로 이 과정이 시행돼야 한다. 이러한 이유는 패킷의 정보가 헤더 부분에 있고, 이를 열어봐야 하기 때문..
- Total
- Today
- Yesterday
- 생활코딩 javascript
- Spring Data JPA
- JPA
- Spring Boot
- 스프링
- 파이썬 for Beginner 솔루션
- 쉽게 배우는 운영체제
- 스프링 테스트
- Gradle
- 지옥에서 온 git
- shell code
- 쉘 코드
- git merge
- 운영체제 반효경
- Spring
- 스프링 컨테이너
- git branch
- 프로그래머스
- 방명록 프로젝트
- 파이썬 for Beginner 연습문제
- jsp
- 패킷 스위칭
- 김영환
- 선형 회귀
- git
- Python Cookbook
- Thymeleaf
- Computer_Networking_A_Top-Down_Approach
- spring mvc
- Do it! 정직하게 코딩하며 배우는 딥러닝 입문
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |