익스프레스 req 객체 심층 분석
익스프레스 req 객체는 클라이언트에서 서버로 전송되는 HTTP 요청에 대한 정보를 담고 있음.
개발자는 이 객체를 통해 요청의 다양한 속성과 메서드에 접근하여 요청을 처리하고 응답을 생성할 수 있음.
req 객체의 주요 속성
- req.app : 현재 요청을 처리하는 Express 애플리케이션 인스턴스에 대한 참조
- req.baseUrl : 현재 요청을 처리하는 라우터의 기본 URL
- req.body : 요청 본문에 포함된 데이터 (JSON, URL-encoded, multipart/from-data 등)
- req.cookeis : 클라이언트에서 전송된 쿠키 객체
- req.headers : 요청 헤더 정보를 담고 있는 객체
- req.hostname : 클라이언트의 호스트 이름
- req.ip : 클라이언트의 IP 주소
- req.method : 요청 메서드 (GET, POST, PUT, DELETE 등)
- req.protocol : 요청 프로토콜 (http 또는 https)
- req.query : 쿼리 문자열에 포함된 파라미터 객체
- req.route : 현재 요청을 처리하는 라우터 정보
- req.secure : 요청이 HTTPS를 통해 전송되었는지 여부
- req.session : 세션 정보를 담고 있는 객체 (session 미들웨어 사용 시)
- req.socket : 클라이언트와의 연결을 나타내는 소켓 객체
- req.subdomains : 요청 URL의 서브도메인 목록
req 객체의 주요 메서드
- req.accepts(types) : 클라이언트가 지원하는 MIME 유형 목록을 확인
- req.get(header) : 요청 헤더에서 특정 헤더 값을 가져오기
- req.is(type) : 요청의 MIME 유형을 확인
- req.param(name, defaultValue) : URL 경로 매개변수 또는 쿼리 문자열 파라미터 값을 가져오기
- req.pipe(destination) : 요청 데이터를 다른 스트림으로 파이프 연결
req 객체의 심층 분석
- req.body
- body-parser 미들웨어를 사용하면 요청 본문을 자동으로 파싱하여 req.body 객체에 저장
- req.body 객체는 JSON, URL-encoded, multipart/form-data 등 다양한 형식의 데이터를 담을 수 있음.
- body-parser 미들웨어 설정에 따라 req.body 객체의 구조가 달라질 수 있음
- req.cookies
- req.cookies 객체는 클라이언트에서 전송된 쿠키 정보를 담고 있음.
- 쿠키 이름을 키로 사용하여 쿠키 값에 접근할 수 있음.
- 쿠키 값을 변경하거나 새로운 쿠키를 설정할 수도 있음.
- req.headers
- req.headers 객체는 요청 헤더 정보를 담고 있음.
- 헤더 이름을 키로 사용하여 헤더 값에 접근할 수 있음.
- 헤더 값을 변경하거나 새로운 헤더를 설정할 수도 있음.
- req.params
- req.params 객체는 URL 경로에서 추출된 매개변수 값을 담고 있음.
- 매개변수 이름을 키로 사용하여 매개변수 값에 접근할 수 있음.
- req.query
- req.query 객체는 쿼리 문자열에 포함된 파라미터 값을 담고 있음.
- 파라미터 이름을 키로 사용하여 파라미터 값에 접근할 수 있음.
익스프레스 res 객체 심층 분석
익스프레스 res 객체는 서버에서 클라이언트로 전송되는 HTTP 응답을 구성하는 데 사용된다.
개발자는 이 객체를 통해 응답 코드, 헤더, 본문 등을 설정하여 클라이언트에게 원하는 정보를 전달할 수 있다.
res 객체의 주요 속성
- res.app : 현재 응답을 처리하는 Express 애플리케이션 인스턴스에 대한 참조
- res.headers : 응답 헤더 정보를 담고 있는 객체
- res.locals : 템플릿 엔진에 전달될 변수를 담고 있는 객체
- res.statusCode : 응답 코드
- res.statusMessage : 응답 코드에 대한 메시지
res 객체의 주요 메서드
- res.append(header, value) : 응답 헤더에 새로운 헤더 항목 추가
- res.clearCookie(name) : 특정 쿠키 삭제
- res.cookie(name, value, options) : 쿠키 설정
- res.end(data) : 응답 본문 설정 및 응답 종료
- res.format(obj) : 요청에 따라 적절한 응답 형식 선택 및 응답
- res.json(data) : JSON 형식으로 응답
- res.redirect(url) : 클라이언트를 다른 URL로 리다이렉트
- res.render(view, locals) : 템플릿 엔진을 사용하여 뷰 렌더링
- res.send(data) : 응답 본문 설정 및 응답
res 객체 심층 분석
- res.headers
- 응답 헤더 정보를 담고 있는 객체
- 헤더 이름을 키로 사용하여 헤더 값에 접근하거나 변경할 수 있음
- 새로운 헤더 항목을 추가할 수도 있음
- res.locals
- 템플릿 엔진에 전달될 변수를 담고 있는 객체
- 템플릿에서 변수 이름을 사용하여 값에 접근할 수 있음.
- res.statusCode
- 응답 코드를 설정하거나 가져오는 데 사용됨.
- 200 : OK
- 400 : Bad Request
- 401 : Unauthorized
- 404 : Not Found
- 500 : Internet Server Error
- res.statusMessage
- 응답 코드에 대한 메시지를 설정하거나 가져오는 데 사용된다.
* 해당 게시글은 gemini를 참고하여 작성된 게시글임을 알립니다.