일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 이직
- 문자열
- 스프링부트
- IntelliJ
- Java
- 구현
- Linux
- 스프링
- 스타트업
- 구름LEVEL
- HashMap
- spring boot
- 명령어
- 주니어
- HTTP
- spring
- docker
- 해결
- 프로그래머스
- 도커
- 스프링 부트
- 개발자
- 백엔드
- 배열
- 코딩테스트
- dfs
- 자료구조
- 해시맵
- 인텔리제이
- bfs
- Today
- Total
목록HTTP (3)
마이의 개발 블로그
상황 서버에게 동일한 요청을 보낼 때 별다른 변화나 문제가 없음에도 응답코드가 200이 아닌 304로 표기되는 경우가 있습니다. 응답코드 304(Not Modified)가 리턴되는 이유 300번대 코드들은 요청된 자원에 대한 리디렉션을 의미하는데, 그 중에서도 304는 'Not Modified'로, 요청한 자원에 대해 변경된 사항이 없으므로 캐시되어있는 자원으로 리디렉션 하겠다는 의미를 갖습니다. 즉, 브라우저로부터의 최초 요청 시에는 200번 응답을 받지만 이후에 자원에 변화가 없다면 일정 시간 동안은 304번 응답을 받게되는 것입니다. 현재 개발중인 로컬 서버에서 이를 테스트 해보기 위해 시차를 두고 요청을 여러 번 보내며 응답코드를 관찰했습니다. 그 결과 꽤 오랜 시간동안 304번 응답이 유지되는 ..

요즘은 ExpressJS 프레임워크를 사용하여 백엔드 API를 개발하는 업무를 주로 하고있다. 프레임워크나 프로젝트 셋업에 따라 응답코드를 알아서 리턴해주는 경우도 있지만, 현재 프로젝트에서는 아래와 같이 응답코드를 직접 적어줘야할 경우들이 종종 있어 세부적인 내용을 알아두고자 정리해본다. if(files.length 0){ res.status(200).json({message: '업로드 완료'}); }else{ res.status(500).json({message: '업로드 실패'..

HTTP의 특징 2가지 1. 무상태 (stateless) - 통신이 끝나면 상태정보를 유지하지 않는다는 특성 (이전의 요청과 다음의 요청이 관련이 없다는 의미) - 장점 : 다수의 요청에 대해 서버가 추가 정보를 관리할 필요가 없어 부하를 줄일 수 있음 - 단점 : 서버측에서 클라이언트의 식별이 불가능함 2. 비연결성 (connectionless) - 요청에 대한 응답이 끝나면 연결(connection)을 끊는다는 특성 - 장점 : 연결에 필요한 리소스를 효율적으로 관리하게 해줌 (불특정 다수의 클라이언트) - 단점 : 동일한 클라이언트의 경우에도 연결, 해제에 대한 오버헤드 발생 쿠키와 세션의 사용 이유 웹을 사용하다보면 서버가 클라이언트의 정보를 알아야하는 경우가 많다. 예를들어, 쇼핑몰에서 물건을 ..