메뉴 건너뛰기

관리자2023.01.31 23:02

이 질문은 웹 서버와 HTTP 통신 프로토콜에 대한 충분한 지식이 있어야 이해할 수 있는 부분입니다.
책에서는 자세히 설명하려는 의도보다는 <form> 태그를 설명하지 않을 수 없어서 전반적으로 소개하려는 의도입니다.
강의하시는 교수님이 있다는 그 분이 자세히 설명해주기를 바랍니다.
일단 질문이 왔으니, 간단히 답을 드립니다.

우선 네이버에서 만든 웹 페이지에 등장하니, 그것을 기준으로 설명합니다.
첫번째줄 <form name="sform"
-> sform 이란 이름은 중요하지 않은 이름입니다. 이 이름은 네이버 개발자가 붙인 것으로 웹페이지의 다른 코드에서 이 폼을 인식하기 위해 사용하는 용도입니다.
5번째줄 <input name="query"
-> 웹서버에서 사용자가 입력한 검색 단어를 전달받기 위해, 웹페이지 개발자가 만들어 놓은 이름입니다. 여기서 웹 서버 프로그램은 search.naver 입니다.
    웹브라우저 사용자가 검색 창(name이 query인)에 elvis 단어를 입력하고 검색 버튼을 누르면, sform의 폼은 자동으로 다음 문장을 만들어 냅니다.
    https://search.naver.com/search.naver?query=elvis ....
   그리고 웹 브라우저는 이 문장에 따라 search.naver.com 컴퓨터에 접속하고 search.naver 프로그램의 실행을 요청합니다.

   그리고 이 프로그램의 파라미터로 query=elvis 를 전달합니다.
   이미 서버에 작성해놓은 search.naver 프로그램은 웹브라우저로부터 받은 파라미터에서 query를 찾고 이곳에 연결된 elvis를 발견합니다. 그리고 elvis 를 검색하고 그 결과를 웹브라우저로 보냅니다.
   이 검색 웹페이지를 만든 사람과 search.naver 프로그램을 만든 사람이 동일합니다(아닐수도 있지만).

  이렇게 query는 웹 페이지와 서버 프로그램에서 계획되어 만들어진 이름입니다.

질문하신 분이 <input name="query"를 임의로 <input name="qqqq" 와 같이 바꿀 수 없습니다. 이 웹페이지를 네이버에 있으니까요.
만일 네이버에서 어떤 사람이 search.naver 프로그램은 그대로 두고, 이 웹 페이지만 바꾸어 <input name="qqqq" 처럼 수정해두었다면
search.naver 프로그램이 찾는 query 가 없기 때문에 서버에서 검색이 진행되지 않습니다.

혹시 질문하신분이 웹브라우저의 URL 부분에 다음과 같이
https://search.naver.com/search.naver?qqqq=elvis...
로 입력한다고 해도, 서버에서 실행되는 search.naver 프로그램이 query를 찾기 때문에 검색이 일어나지 않습니다.

이 질문을 이해하려면 웹서버와 웹프로토콜에 대한 충분한 학습이 되어 있어야 합니다.
이상, 저도 이 지면으로 설명하는 것에 한계가 있는 것 같습니다.

파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
위로