http error 400 - 잘못된 요청 에러 원인/증상/해결
오류에는 여러 종류가 있다.
1. 메소드
- GET, POST, PUT, DELETE, MKDIR, RMDIR 등
- 정상서비스 메소드는 GET, POST이며, HEAD가 일부 사용
- 이 외의 메소드가 존재 시 공격의 흔적 의심
2. 요청한 페이지와 파라미터
- GET : 모든 요청 정보가 남아있음
- POST : 메소드를 사용할 경우 Content에 들어가는 부분은 웹 로그에 남지 않음
- GET : 메소드를 사용하면서 사용자 입력 정보가 URL에 포함되어 있는 경우, 공격 의심
3. 응답코드
- 100번 대 : 정보 전송
- 200번 대 : 성공
- 300번 대 : 리다이렉션
- 400번 대 : 클라이언트 측 에러
- 500번 대 : 서버 측 에러
100번 대
웹 서버 상태 코드 | 내용 |
100 Continue | 클라이언트가 서버에게 메시지 바디를 포함한 요청을 보냈을 때 받는 응답코드 |
200번 대
200 OK | 클라이언트의 요청이 성공함 |
201 Created | 클라이언트의 PUT 요청이 성공적 |
300번 대
301 Moved Permanently | 브라우저의 요청을 다른 URL로 항시 전달한다는 것을 의미. 다른 URL에 대한 정보는 Location 헤더에 나타냄. |
302 Found | 브라우저의 요청을 임시 URL로 바꾸고 Location 헤더에 임시로 변경한 URL에 대한 정보를 적음. 클라이언트가 다음에 같은 요청을 하면 기존의 URL로 돌아감. |
304 Not Modified | 브라우저가 서버에게 요청한 자료에 대한 서버는 클라이언트 내에 복사된 캐시를 사용하면 된다는 것을 의미. 서버는 If-Modified-Since와 If-None-Match 요청 헤더를 사용해 클라이언트가 가장 최근의 자료를 가지고 있는지 여부를 확인. |
400번 대
400 Bad Request | 클라이언트가 서버에 잘못된 요청을 했다는 것 |
401 Unauthorized | 서버가 클라이언트의 요청에 대해 http 인증 확인을 요구하는 것 |
403 Forbidden | 클라이언트 요청에 대해 접근을 차단하는 것 |
404 Not Found | 클라이언트가 서버에 요청한 자료가 존재하지 않음 |
405 Method Not Allowed | 클라이언트가 요청에 이용한 메소드가 해당 URL에 지원 불가능을 나타냄. PUT 방식을 지원하지 않는 곳에서 클라이언트가 PUT 메소드를 통해 서버에게 자원을 요청하면 보게 됨. |
413 Request Entity Too Large | 클라이언트가 요청한 바디를 서버에게 처리하기에 너무 큰 것을 나타냄. 버퍼 오퍼플로우의 취약점을 찾고자 긴 문자열 데이터를 서버에 전송하면 보게 됨. |
414 Request URI Too Long | 413 응답과 비슷하지만 414 메시지는 요청에 사용된 URL이 서버가 감당할 수 없을 만큼 너무 크다는 것을 나타냄 |
500번 대
500 Internal Server Error | 서버가 클라이언트의 요청을 실행할 수 없을 때 500 상태 코드가 발생. 일반적으로 SQL injection 취약점이 존재하는지 확인할 때 500 에러가 유용하게 사용. |
503 Service Unacailable | 웹 서버는 클라이언트의 요청에 대해 정상적으로 응답할 수 있지만, 서버에서 구동중인 애플리케이션이 응답을 하지 못할 때 나타남. |
여러 가지 오류들에 대해 정리를 해보았는데, HTTP ERROR 400의 원인을 먼저 알아보자면
브라우저의 cookie가 충돌을 일으켜서 발생하는 에러 중 하나이다.
이 에러는 특정 사이트의 누적된 cookie에 의해 발생되는 문제이므로 해당 cookie를 삭제해주면 문제가 해결이 된다.
나도 티스토리에 글을 작성하려고 들어갈 때마다 밑 사진과 같은 화면만 계속 뜰 뿐이었다.
급한 마음에 Ctrl + Shift + N 을 눌러 크롬 시크릿 모드로 우회하여 들어갔는데, 막상 작성이 끝나고 나니 귀찮아서 오류에 대한 해겨방법을 찾아보지 않았다.
하지만 Notion도 계속 쓰다보니 Notion에서는 무한로딩이 뜨길래 노션 에러를 해결하기 위해 이 글을 작성하게 되었다...ㅎ
이에 대한 해결 방법을 이제 알아보겠다.
먼저 크롬에 들어가준다.(기본 화면)
다음으로 설정에 들어가준 후, 개인정보 보호 및 보안에 들어가준다.
밑으로 내려보면, 서드 파티 쿠키가 뜬다.
들어가보면, 모든 사이트 및 권한 보기가 있다.
내가 지금까지 들어갔던 경로와 그에 대한 쿠키 갯수가 뜨는데, 나는 티스토리와 노션에 대한 쿠키를 삭제할 생각이다.
여기서 검색에서 '티스토리'와 '노션'을 검색한다.
그럼 표시된 데이터 지우기를 눌러주면 된다.
한 번의 창이 뜨는데, 삭제를 눌러주면 된다.
노션도 똑같이 삭제해준다.
삭제 클릭
이제 티스토리와 노션을 접속해본다.
먼저, 티스토리 접속을 했다.
잘 된다!!
노션도 똑같이 접속한다.
이것도 접속이 잘 된다 ㅎㅎ
해결 완료!!