그건 Basic Authentication 때문이다. 웹서비스에 한글 아이디를 허용하면 Basic Authentication을 적용하기 어려워진다. 뭐가 문제인가 HTTP의 Basic Authentication은 매우 단순한 인증 체계이다. 클라이언트가 사용자의 아이디와 비밀번호를 "아이디:비밀번호" 꼴로 만들어 base64 인코딩하여 전송하면, 서버가 확인 후 틀렸으면 401 Unauthorized를 돌려주고 맞았으면 요청을 적절히 처리한다. 보통 웹브라우저로 사이트에 들어가는데 팝업이 짠 뜨면서 로그인을 요구하면 대개 이 Basic Authentication이라고 … 웹서비스에 한글 아이디를 허용하게 되면 난감해지는 HTTP적인 이유 계속 읽기
[태그:] HTTP
"HTTP/1.1 200" 은 틀리고 "HTTP/1.1 200 " 은 맞는 이유
HTTP 응답은 항상 다음과 같은 Status-Line 으로 시작한다. HTTP/1.1 200 OK 왼쪽부터 순서대로 HTTP-Version, Status-Code, Reason-Phrase가 온다. 그런데 만약 응답을 해줘야 하는 HTTP 서버가, 적절한 이유구문을 결정하지 못해 Reason-Phrase 없이 응답을 보내려면 어떻게 해야 할까? 그냥 "HTTP/1.1 200" 로 보내면 될 것 같지만, 정답은 "HTTP/1.1 200 "이다. 끝에 공백문자를 하나 넣어줘야 한다. 이유가 뭘까? RFC … "HTTP/1.1 200" 은 틀리고 "HTTP/1.1 200 " 은 맞는 이유 계속 읽기
HTTP status code 실험
요즘 회사에서 HTTP 스터디중이다. HTTP/1.1의 다양한 Status Code들에 대해 공부한 뒤, 실제 웹브라우저가 Status Code에 대해 어떻게 대응하는지 궁금해졌다. 그래서 구글 크롬을 가지고서 테스트 해 보았다. 일단 status code를 원하는대로 만들어서 응답해주는 코드를 간단히 작성했다. header("HTTP/1.1 ".$_REQUEST['status']." ".$_REQUEST['reason']); if (isset($_REQUEST['body'])) { echo $_REQUEST['body']; } 예를 들어 http://npcode.com/test/http-resonse.php?status=201 이렇게 요청하면 201로 응답해준다. 이걸로 구글크롬을 테스트 해 … HTTP status code 실험 계속 읽기