HTTP--Request 상세 정보

3957 단어

HTTP--Request 상세 정보


블로그 설명
문장에 관련된 자료는 인터넷 정리와 개인 총결에서 나온 것으로 개인의 학습과 경험을 종합하는 데 목적을 둔다. 만약에 어떤 권리 침해가 있으면 본인에게 연락하여 삭제해 주십시오. 감사합니다!

요청 메시지 데이터 형식


요청행
   url  / 
GET /login.html	HTTP/1.1

요청 헤더
클라이언트 브라우저가 서버에 정보를 알려줍니다.
 :  
  • 일반적인 요청 헤더:
  • User-Agent: 브라우저가 서버에 알려줍니다. 제가 사용한 브라우저 버전 정보에 접근합니다.
  • 서버에서 이 헤더의 정보를 얻고 브라우저의 호환성 문제를 해결할 수 있습니다

  • Referer:http://localhost/login.html
  • 서버에 제가 어디서 왔는지 알려주세요
  • 작용:
  • 도난 방지 체인:
  • 통계 작업:




  • 빈 줄 요청
    빈 행은 POST 요청의 요청 헤더와 요청체를 분할하는 데 사용됩니다.
    요청체 (본문)
  • POST 요청 메시지의 요청 매개 변수를 봉인합니다
  • 문자열 형식:
    POST /login.html	HTTP/1.1
    Host: localhost
    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Referer: http://localhost/login.html
    Connection: keep-alive
    Upgrade-Insecure-Requests: 1
    
    username=zhangsan	
    

  • 요청 메시지 데이터 가져오기

  • 요청행 데이터 가져오기
  • GET/day14/demo1?name=zhangsan HTTP/1.1
  • 방법:
  • 요청 획득 방법: GET
  • String getMethod()

  • (*) 가상 디렉토리 가져오기:/day14
  • String getContextPath()

  • 서브렛 경로 가져오기:/demo1
  • String getServletPath()

  • get 방식 요청 매개 변수 가져오기:name=zhangsan
  • String getQueryString()

  • (*) 요청 URI 가져오기:/day14/demo1
  • String getRequestURI():/day14/demo1
  • StringBuffer getRequestURL() :http://localhost/day14/demo1
  • URL: 통합 리소스 포지셔닝:http://localhost/day14/demo1
  • URI: 통합 리소스 식별자:/day14/demo1

  • 프로토콜 및 버전 검색: HTTP/1.1
  • String getProtocol()

  • 클라이언트의 IP 주소 얻기:
  • String getRemoteAddr()




  • 요청 헤더 데이터 얻기
  • 방법:
  • (*) String getHeader(String name): 요청 헤더의 이름을 통해 요청 헤더의 값을 가져옵니다
  • Enumeration getHeaderNames(): 모든 요청 헤더 이름을 가져옵니다


  • 요청체 데이터 얻기:
  • 요청체: POST 요청 방식만 요청체가 있고 요청체에 POST 요청의 요청 파라미터를 봉인합니다
  • 단계:
  • 흐름 대상 얻기
  • BufferedReader getReader (): 문자 입력 흐름을 가져와서 문자 데이터만 조작할 수 있습니다
  • Servlet InputStream get InputStream (): 바이트 입력 흐름을 가져와 모든 유형의 데이터를 조작할 수 있습니다

  • 흐름 대상에서 데이터를 가져옵니다



  • 요청 매개 변수 가져오기 공통 방법


    get이든post 요청 방식이든 다음 방법으로 요청 파라미터를 얻을 수 있습니다
  • String getParameter(String name): 매개 변수 이름에 따라 매개 변수 값을 가져옵니다. username=zs &password=123
  • String[] getParameterValues(String name): 매개 변수 이름에 따라 매개 변수 값을 가져오는 그룹 hobby=x&hobby=game
  • Enumeration getParameterNames(): 요청된 모든 매개변수 이름을 가져옵니다
  • 맵 getParameterMap(): 모든 매개 변수의 맵 집합을 가져옵니다

  • 전송 요청


    서버 내부에서의 자원 이동 방식
  • 단계:
  • request 객체를 통해 요청 트랜시버 객체를 가져옵니다: RequestDispatcher getRequestDispatcher(String path)
  • RequestDispatcher 객체를 사용하여 전달: forward(ServletRequest request, ServletResponse response)

  • 특징:
  • 브라우저 주소 표시줄 경로가 변경되지 않습니다
  • 현재 서버 내부 리소스로만 전송 가능..
  • 전송은 요청입니다


  • 데이터 공유

  • 역 대상: 작용 범위가 있는 대상으로 범위 내에서 데이터를 공유할 수 있다
  • request역: 한 번의 요청 범위를 대표하며, 일반적으로 전송을 요청하는 여러 자원에서 데이터를 공유합니다
  • 방법:
  • void setAttribute(String name, Object obj): 데이터를 저장합니다
  • Object getAttitude(String name): 키를 통해 값을 가져옵니다
  • void removeAttribute(String name): 키를 통해 키 값 쌍을 제거합니다


  • ServletContext 가져오기


    ServletContext getServletContext()
    감사
    다크호스 프로그래머
    만능의 네트워크
    그리고 부지런한 자신의 관심사: 귀자모, 더 많은 자료, 그리고 더 긴 학습 계획

    좋은 웹페이지 즐겨찾기