긴글주의) 개발초보가 그누보드 코드 질문드립니닷.

긴글주의) 개발초보가 그누보드 코드 질문드립니닷.

QA

긴글주의) 개발초보가 그누보드 코드 질문드립니닷.

본문

그누보드 공부하다 궁금한게 있어서 질문올려용

 

head.sub.php 파일(코드 수정 하지 않음) 소스 살펴보다가

237894926_1558586677.5088.png

만료된 페이지 사용 관련 주석이 보여서 구글링해서 여러개 읽어본거 같은데요.

 

예를 들면

a.php에서 글작성 폼을 입력하고 post방식으로 b.php에게 서브밋하고

b.php에서 post값을 받아 테이블에 저장하고 c.php(글작성 성공 페이지)로 이동되었다고 할떄

c.php 페이지(글작성 완료페이지)로 이동 후 뒤로 가기를 눌러 b.php로 가면 또 글 저장 되는걸

방지하기 위해 header함수를 통해서 헤더에 캐시사용을 막는다는 건데요

 

여기서 질문이 몇개 있습니다.. 좀 많습니다ㅜ

 

 

 

1. 어떤 페이지에 캐시가 동작대는 상황이라면

    html 즉 브라우저에 출력될 코드 뿐만 아니라

   이전 페이지에서 "post로 넘어온 값"도 캐쉬로 저장대는 건가요?

    

2. 어떤 페이지에 캐시가 동작대는 상황이라면

    프론트단의 소스 뿐만아니라 서버단 소스(<?php  ....  ?>)도 캐시 대는 건가용?

 

3. header() 함수를 호출하는 위치에 대한 질문인데요.

 

   b.php파일의 소스를 구현한다고 했을떄

   만약

   "a.php에서 보낸 post 값을 받아 글을 테이블에 insert 하는 코드" 뒤에
   

   header("Cache-Control: no-cache");
   header("Expires: 0");
   header("Pragma: no-cache");
   

   를 작성 한다면

   "테이블에 글을 insert 하는 코드" 는 "헤더에 nocache가 선언되기 전"이기 떄문에

    캐시로 저장대는 건가요?

 

허접한 질문 이지만 많은 조언 부탁드립니다.ㅜㅜ

 

수정)스샷에서 밑에 echo 11111111; 은 테스트 하고 지운다는게 까먹었네요;;

      신경안쓰셔도 댑니다.ㅜ

이 질문에 댓글 쓰기 :

답변 1

1. get이나 cookie는 캐싱이 가능한 반면, post는 캐싱이 되지 않습니다.

 

2. 웹 사이트의 캐시는 서버가 아닌 클라이언트, 그러니까 컴퓨터의 웹브라우저에서 저장한다고 보면 됩니다. 웹브라우저가 사이트에 접속하면 서버에서는 해당 페이지의 php 코드들을 동작시켜 완성된 페이지를 반환하는 방식인거죠. php 코드는 서버측에서만 동작하므로 웹브라우저는 결과 페이지만 캐싱이 가능합니다.

 

3. 'header'는 말 그대로 head 입니다. html 태그에서도 head 태그가 최상단에 위치하는 것처럼 php에서도 header는 최상단에 위치합니다. 때문에 다른 코드들을 선언하고 그 아래에 header를 선언할 수는 없습니다. 

답변을 작성하시기 전에 로그인 해주세요.
전체 59,571
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT