Content-Disposition 헤더는 브라우저에게 어떻게 특정 콘텐츠를 처리할지 지시한다. 만약 파일을 다운로드로 처리하려면, 이 헤더를 attachment로 설정한다. 1. Attachment 기능: 브라우저가 콘텐츠를 직접 표시하는 대신 사용자에게 파일을 다운로드하도록 지시한다. 사용 예시: Content-Disposition: attachment; filename="example.pdf" 2. Inline 기능: 콘텐츠가 브라우저에 직접 표시되어야 함을 나타낸다. 예를 들어, 이미지나 PDF 같은 파일을 브라우저에서 바로 볼 수 있다. 사용 예시: Content-Disposition: inline 3. Filename 매개변수 attachment 또는 inline 디렉티브와 함께 사용되어, 특..
일전에 회사에서 다른 솔루션 회사의 제품에 대해서 교육을 들을 기회가 있었다. 해당 솔루션은 통합 메시징시스템 솔루션이였는데 Apache Server와 WAS를 연동해서 사용하고 있었다. 문득 나는 Tomcat만 설치해도 Tomcat 자체가 웹 서버 기능을 제공하는데 왜 굳이 Apache Server를 별도로 설치해서 Apache Server랑 Tomcat 두 녀석을 연동해주는 귀찮은 일을 도대체 왜하는 걸까? 라는 의문이 있었다. 이러한 의문에 해답은 아래와 같다. 1. 성능과 확장성 Apache HTTP Server 같은 웹 서버들은 정적 컨텐츠를 효율적으로 처리하는 데 최적화되어 있다. 동적 컨텐츠 처리는 WAS에게 맡기고, 정적 컨텐츠는 웹 서버에서 처리하도록 함으로 시스템 전체의 부하를 줄이고 ..
1. Request HTTP통신에서 Request는 아래와 같이 4개의 영역으로 나누어 볼 수 있다. 1. Request Line : HTTP Method, 요청 대상 URL, 사용되는 HTTP 프로토콜 버전 2. Request Header : Host(요청이 전송되는 서버의 도메인 이름), User-Agent(클라이언트에 대한 정보), Accept(클라이언트가 받을 수 있는 데이터타입), Content-Type(요청 Body의 데이터타입) Content-type은 HTTP 헤더의 일부분으로서 요청이나 응답에 포함된 데이터의 유형을 명시하는 항목이다. 이를 명확하게 명시해주어야만이 클라이언트와 서버가 올바르게 데이터를 주고받을 수 있다. 3. 공백라인 : 헤더와 Body사이에 존재하는 공백으로 헤더와 B..
VPN과 SSH가 함께 사용될 때, 일반적인 작동 방식은 다음과 같다. 1.사용자는 VPN 클라이언트를 통해 VPN 서버에 연결한다. 이 과정에서 VPN 서버와 VPN 클라이언트 사이에 암호화된 "터널"이 생성된다. 2. 생성된 안전한 VPN 터널을 통해 SSH 접속을 시도한다. 사용자의 SSH 요청은 먼저 로컬 시스템에서 암호화되고(/etc/ssh/sshd_config에 명시된 암호화방식으로), 그 후 추가적으로 VPN 터널의 암호화 과정까지 거쳐서 결국엔 이중 암호화된 데이터가 인터넷을 거치며 원격 서버까지 전달된다. 3. 원격 서버에서는 먼저 VPN 층의 암호화가 해제되고, 그 다음 SSH 층의 암호화가 해제되어 실제 요청 내용이 처리된다.따라서, SSH 접속이 VPN 터널링을 거치면 보안성이 강화..
PC에서 한번쯤은 네트워크 설정창에서 아래와 같이 이더넷이라는 단어를 접해볼 수 있을 것이다. 랜(LAN)선으로 인터넷이 연결되는 것을 이더넷(Ethernet)이라고 알고있었는데 이에 대해서 좀 더 자세하게 정리하고자한다. OSI 참조 모델 프로토콜 응용 계층 (제 7계층) 애플리케이션 프로토콜 (HTTP 등) 표현 계층 (제 6계층) 애플리케이션 프로토콜 (HTTP 등) 세션 계층 (제 5계층) 애플리케이션 프로토콜 (HTTP 등) 전송 계층 (제 4 계층) TCP / UDP 네트워크 계층 (제 3 계층) IP / ICMP / ARP 데이터링크 계층 (제 2계층) 이더넷 물리 계층 (제 1계층) 이더넷 이더넷(Ethernet)은 OSI 7 layer에서 제 1계층, 2계층에 대한 기술 규격을 의미한다...
HTTP(Hypertext Transfer Protocol)는 클라이언트와 서버 간에 데이터를 전송하기 위한 프로토콜이다. HTTP는 다양한 메서드(methods)를 제공하여 서버에 요청을 보내고, 응답을 받을 수 있는데 가장 널리 사용되는 HTTP 메서드는 아래와 같다. 1. GET : 리소스를 가져오기 위한 메서드로 주로 서버로부터 데이터를 요청하는 용도로 사용 2. POST : 서버에 데이터를 제출하는 메서드로 주로 데이터를 생성하거나 업데이트하는 용도로 사용 3. PUT : 서버에 리소스를 업로드하는 메서드로 주로 데이터를 생성하거나 업데이트하는 용도로 사용 4. DELETE : 서버에서 리소스를 삭제하는 메서드 5. PATCH : 리소스의 일부를 업데이트하는 메서드로 PUT과 유사하지만, 리소스..