블로그 이미지
올해목표 // 10월 어학연수 떠나자~ 자수씨

카테고리

전체글 (1457)
Brand New! (28)
주절주절 (213)
MOT (11)
해외쇼핑 (49)
쇼핑노트 (150)
취미생활 (94)
iPhone (4)
Eclipse (121)
Google (83)
Spring (31)
JAVA (176)
JavaScript (59)
WEB (49)
Database (20)
OS (26)
Tools (8)
Tips (26)
IT정보 (1)
Book (21)
Programming (37)
외부행사 (43)
주변인들 (17)
여행노트 (60)
학교생활 (30)
회사생활 (52)
사회생활 (5)
외국어공부 (12)
잡동사니 (30)
Total
Today
Yesterday
 
03-28 18:30
 

달력

« » 2024.3
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
 

최근에 올라온 글

최근에 달린 댓글


어느 순간부터 웹 상에서 아이디와 패스워드 같은 것을 저장해두면 이틀 후에 삭제가 되는 것이었습니다.

Windows 7 + IE 8 조합에서 발생하는 버그인 줄 알고 여러 곳에서 찾아보았지만 답을 찾을 수 없었습니다.

그러던 도중 아래의 포스팅처럼 "-nomerge" 옵션으로 세션을 공유하지 않도록 설정하였는데... 이것이 문제였습니다.
2010/01/25 - [WEB] - 웹 개발자들에게는 대 재앙...으로 다가올 뻔한... Windows 7 + IE 8

nomerge 옵션의 경우 세션 뿐만 아니라 쿠키까지 연관이 있다고 합니다.

그래서 처리한 방식은 아래와 같이 레지스트리에 특정 값을 등록하였습니다.
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"FrameMerging"=dword:00000000
"SessionMerging"=dword:00000000

일단은 설정은 해놓았으니 결과는 몇일 뒤에 나올 듯 합니다.

Posted by 자수씨
, |

오늘 알게되었습니다. Windows 7 에서 IE 8 은 세션을 공유한다는 것을... (Win 7 촙오라서...)
분명 XP를 사용할 때, IE 8 에서는 세션을 공유하지 않는 것으로 생각 했는데, Windows 7 에서 새로 추가된 것인지는 모르겠지만 정말 대 재앙이었습니다.

일반적인 사용자들이야 편하겠지만... 개발자들은 한 PC에서 여러 계정을 띄워놓고 테스트 할 일이 많은데 어쩐지 세션이 꼬이는 것이였습니다. (이것 때문에 CAS가 재대로 안되는지 알고 4시간 삽질한 것 같습니다.)

이걸 알게된 것도 완전 우연이였습니다. 작업관리자에서 익스플로러 메모리가 180MB 정도 잡아먹길래, 기존에 메모리를 해제하는 방법인 열려있는 브라우저를 최소화를 했는데도 메모리를 그대로 잡고 있었습니다.
이상한 점을 느끼고 몇 가지 테스트를 해 보았습니다.

1. IE 8 브라우저를 한개 띄웠을 때의 작업관리자
아래 보이는 대로 두개의 iexplore.exe 프로세스가 생성되었습니다.



2. shift + 클릭으로 새창을 띄웠을 경우 (새 창은 웹 페이지 접속)
페이지에 접속하게 되어 메모리와 CPU를 잡아먹는 iexplore.exe 프로세스가 생성되었습니다.



3. 새로 띄운 창을 닫음
새로 띄운 창을 닫았음에도 불구하고 프로세스가 그대로 남아 있습니다.



4. 처음에 띄운 브라우저를 닫음
처음에 생성되었던 두 개의 iexplore.exe 프로세스가 사라졌습니다.



위의 내용을 종합해보면 메인에서 관리하는 프로세스가 하나 있고 브라우저 별로 한 개씩 프로세스가 생기며, 모든 창이 닫히기 전까지 프로세스가 살아있는 것을 볼 수 있었습니다. 세션을 계속 유지하기 위함으로 생각 됩니다만...

이와 같이 세션을 공유하는 것을 해결 하기 위해서는 아래와 같은 방식을 MS에서 제시하였습니다.
>> 브라우저에서 새 세션으로 열기


저 같은 경우는 작업표시줄에서 shift + 클릭으로 새창을 많이 띄우는데 위의 방법은 저와는 맞지 않아 아래의 방식을 사용하였습니다.

>> 실행 옵션에 -nomerge 를 설정



설정을 마치고서 몇 가지 테스틀 해 보았습니다.

5. -nomerge 옵션을 주고 새로운 브라우저를 띄움
역시나 두 개의 iexplore.exe 프로세스가 생성됩니다.



6. shift + 클릭으로 새 창 띄움
아까와는 다르게 프로세스가 2개 더 생성되었습니다.
세션 별로 메인 프로세스를 가지고 브라우저 별로 새로운 프로세스를 가지는 것을 추측할 수 있습니다.



물론 브라우저를 닫으면 관련된 프로세스가 죽게 됩니다.


이걸로 모르고 개발하는 웹 개발자들이 태반일텐데... 완전... 힘이 쭉쭉 빠지네요...
흙... CAS는 세션이랑 밀접한건데... 파폭이나 크롬에서는 잘 동작하는데 IE 8 에서 이상해서 진짜 고민 많이 했는데, 전혀 관계 없는 부분에서 찾아낸게... 참 다행입니다 ㅋㅋㅋㅋㅋ


이제부텀 재대로 쓰면 되겠죠~




Posted by 자수씨
, |

글 보관함

최근에 받은 트랙백