Nginx access_log에 OPTIONS 메서드로 요청된 부분이 기록되어 있어 궁금하였다. 확인해보니 몇몇 특정 HTTP 요청 이전에 기록되고 있었다. 1. HTTP OPTIONS 메서드?OPTIONS 메서드는 클라이언트가 서버로부터 특정 리소스에 대해 허용된 메서드와 HTTP 헤더, 인증 요구 사항 등 통신에 필요한 정보를 요청하는 용도로 사용된다. 주로 서버와 클라이언트 간의 CORS (Cross-Origin Resource Sharing) 설정을 확인할 때 사용된다. 즉, 실제 데이터를 가져오지 않고, HTTP 통신이 가능한지 확인하기 위해 사용된다. 2. OPTIONS 메서드의 주요 헤더Allow: 서버가 해당 리소스에 대해 허용하는 HTTP 메서드를 응답한다.예를 들어 Allow: G..
Server
개요 ab는 아파치 하이퍼텍스트 전송 프로토콜 (HTTP) 서버의 성능을 검사하는(benchmarking) 도구이다. ab - 아파치 웹서버 성능검사 도구 - Apache HTTP Server Version 2.4 ab - 아파치 웹서버 성능검사 도구 이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요. ab는 아파치 하이퍼텍스트 전송 프로토콜 (HTTP) 서버의 성능을 검사하는(benc httpd.apache.org 사용법 * option 상단 공식문서 참고 ab [option] [http://]hostname[:port]/path 예시 - 부하테스트 타겟은 "http://www.google.com/" - 총 테스트할 요청 수는 100개 - 동시접속은 10개 ab -n 10..
HTTP Header 정의 HTTP 통신에 필요한 정보 HTTP 표준은 현재 RFC2616(1999년) -> RFC7230~7235(2014년) 개정됨 ex) Request Client, Request Body, Server, Cache... 분류 General Header 메시지 전체에 적용되는 정보 ex) Connection: close Request Header 요청 정보 ex) User-Agent: Mozilla/5.0 (Macintosh; ..) Response Header 응답 정보 ex) Server: Apache Represetation Header 표현 헤더 RFC2616 기준 Entity Header(엔티티 바디정보)에서 개정 ex) Content-type: text/html, Cont..
인터넷 통신 Client↔Server 사이에 복잡한 인터넷 망을 통해 통신 인터넷 망은 많은 중간 노드 서버가 존재(해저 광케이블, 인공위성 등) 프로토콜을 통해 인터넷 통신이 가능 프로토콜(인터넷 프로토콜 스택 4계층) 애플리케이션 애플리케이션 계층 HTTP, FTP OS 전송 계층 TCP,UDP 인터넷 계층 IP 네트워크 인터페이스 네트워크 인터페이스 계층 Ethernet frame IP(인터넷 프로토콜) Client↔Server 부여받은 IP주소를 기반으로 통신 출발, 도착지의 IP주소와 데이터를 패킷(Packet)이라는 단위로 전달 IP 한계점 비연결성 도착지 상태(없음, 불능)에 상관없이 패킷을 전송 비신뢰성 패킷의 손실 또는 순서 역전 문제 프로그램 구분 도착지 IP주소만으로 패킷이 전달될 애..
CentOS7 환경에서 PHP CodeIgniter의 파일 업로드 작업을 하며 권한 문제가 있었다. 찾아보니 보안 강화를 위한 개발사의 정책 변경으로 인해 httpd_unified boolean의 설정이 CentOS6에서 on였지만, CentOS7에서는 off로 변경되어 문제가 발생했다. httpd_unified boolean은 apache나 nginx 같은 웹 서버의 콘텐츠를 동일한 방식의 룰로 처리한다. 즉, CentOS6는 httpd_sys_content_t SELinux context가 설정되어 있는 디렉토리는 읽기와 쓰기 모두 가능했지만, CentOS7부터는 보안 강화 정책으로 인해 httpd_sys_content_t SELinux context가 설정되어 있어도 읽기 전용 권한만 있어 쓰기 권..