더보기 참고: http://www.tcpschool.com/c/c_memory_stackframe ✔️ 스택 프레임(Stack Frame)? 스택(stack), 메모리의 스택이라는 것은 하나의 영역으로 함수의 호출하고 관계되는 지역변수 및 매개변수가 저장되는 영역이다. 함수가 호출되면 스택에는 함수의 매개변수와 호출이 끝나는 시점에서의 반환되는 주소값, 함수에서 선언된 지역변수 등이 저장된다. 이러한 함수의 호출 정보를 차례대로 스택 영역에 저장하는 것을 스택 프레임(stack frame)이라고 한다. 스택이라고 하면 과자중에 다이제 과자라고 매우 단 과자가 있는데, 위에서부터 차곡차곡 하나씩 먹다보면 사라지는 것을 볼 수 있다. 전에 LIFO, FIFO 구조 등을 공부할 때 떠올리면서 공부했던 것들이다..
HTTP 서버 구현.c (1) : https://slumpdev.tistory.com/entry/C%EC%96%B8%EC%96%B4-HTTP-%EC%84%9C%EB%B2%84-%EA%B5%AC%ED%98%84c-1 HTTP 서버 구현.c (2) : https://slumpdev.tistory.com/entry/C%EC%96%B8%EC%96%B4-HTTP-%EC%84%9C%EB%B2%84-%EA%B5%AC%ED%98%84c-2 앞선 글들에 이어서 마지막으로 서버를 열 코드를 구성하고, 만들 코드들을 컴파일 하는 방법과 컴파일 명령어들을 한방에 정리해서 Makefile을 만들어 make 하는 방법까지 공부해보려고 한다. ✔️ main.c 클라이언트가 통신할 c 파일 만들기 #include "httpd.h" ..
HTTP 서버 구현.c (1) : https://slumpdev.tistory.com/entry/C%EC%96%B8%EC%96%B4-HTTP-%EC%84%9C%EB%B2%84-%EA%B5%AC%ED%98%84c-1 앞선 글에 이어서 이번에는 메인 코드들을 공부해보자. 이번에 공부할 코드는 앞선 글에 나와있는 깃헙에 메인 코드인 C 파일들이다. 파일 구성도에 나와있는 것처럼 해당 파일들은 앞서 작성해준 헤더 파일은 include로 불러오고 그 외에 소켓과 표준 입출력 등 사용할 함수들을 선언하고 사용하는 모습을 확인할 수 있다. ✔️ httpd.c 메인 c 파일 만들기 #include "httpd.h" // 앞서 만들어준 httpd.h 헤더파일을 포함한다. #include // 표준 입출력을 위한 헤더파일..
더보기 [네트워크] HTTP를 알아보자 (1) : https://slumpdev.tistory.com/entry/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-HTTP%EB%A5%BC-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90 [네트워크] HTTP를 알아보자 (2) : https://slumpdev.tistory.com/entry/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-HTTP%EB%A5%BC-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90-2 HTTP에 관한 이론과 지식들을 앞서 공부해보았고, 실제 실습과 구현을 통해 더 체득해보자! 실습에 진행하기 앞서, 소켓 통신에 관련해서는 네트워크 전공에서 공부했었는데 깃허브..
저번시간까지 HTTP에 대해서 알아보았는데, GET 메서드와 POST 메서드에 대해 더 알아보고 HTTP 통신에 사용되는 쿠키와 세션에 대해 알아보려고 한다. 참고: https://github.com/WeareSoft/tech-interview/blob/master/contents/network.md#http%EC%99%80-https HTTP를 알아보자 (1): https://slumpdev.tistory.com/entry/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-HTTP%EB%A5%BC-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90 ✔️ GET vs POST ? 앞선 HTTP 알아보자 1번 게시글에 간단한 GET과 POST 뜻을 알아보았다. 조금 더 dee..
✔️ HTTP 란? HTTP Semantics : The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. (출처: https://httpwg.org/specs/rfc9110.html) 출처는 http에 대한 내용들이 들어있는 Documentation 사이트이다. 여기서 나오는 HTTP의 의미는 분산(분배), 협업(협력), 하이퍼텍스트 정보 시스템을 위한 무상태 응용 레벨 프로토콜이라고 나온다. 이렇게 정의만 보면 이해가 가지 않으니, 1. Introduction의 1.1 부분인 목적을 한번 살펴 보았다. ..