etc

http error 400 - 잘못된 요청 에러 원인/증상/해결

WoonJu 2023. 7. 21. 22:23

오류에는 여러 종류가 있다.

 

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에서는 무한로딩이 뜨길래 노션 에러를 해결하기 위해  이 글을 작성하게 되었다...ㅎ

 

이에 대한 해결 방법을 이제 알아보겠다.

 

먼저 크롬에 들어가준다.(기본 화면)

 

 

다음으로 설정에 들어가준 후, 개인정보 보호 및 보안에 들어가준다.

 

 

밑으로 내려보면, 서드 파티 쿠키가 뜬다.

 

 

들어가보면, 모든 사이트 및 권한 보기가 있다.

 

 

내가 지금까지 들어갔던 경로와 그에 대한 쿠키 갯수가 뜨는데, 나는 티스토리와 노션에 대한 쿠키를 삭제할 생각이다.

여기서 검색에서 '티스토리'와 '노션'을 검색한다.

 

 

그럼 표시된 데이터 지우기를 눌러주면 된다.

 

 

한 번의 창이 뜨는데, 삭제를 눌러주면 된다.

 

 

노션도 똑같이 삭제해준다.

 

 

삭제 클릭

 

 

이제 티스토리와 노션을 접속해본다.

먼저, 티스토리 접속을 했다.

 

잘 된다!!

 

 

노션도 똑같이 접속한다.

 

이것도 접속이 잘 된다 ㅎㅎ

 

해결 완료!!