JavaWeb 요약(1)
웹 애플리케이션의 클라이언트 인터페이스 디자인을 배울 때 우리는 기본 웹 애플리케이션을 구성하려면 웹 서버, 웹 클라이언트 브라우저, HTTP 프로토콜 및 정적 HTML 문서가 필요하다는 것을 이미 알고 있습니다.
웹 서버: 클라이언트 요청을 수신한 다음 일부 결과를 클라이언트에 반환합니다.
브라우저: 사용자가 서버에서 리소스를 요청할 수 있도록 하고 요청된 결과를 사용자에게 표시합니다. 🎜>
HTML: 브라우저가 사용자에게 콘텐츠를 표시하는 방법을 알려줍니다. HTTP: 웹에서 클라이언트와 서버 간의 통신에 사용되는 프로토콜입니다. 🎜>HTTP는 컴퓨터가 네트워크에서 통신하는 규칙 집합인 하이퍼텍스트 전송 프로토콜입니다. TCP/IP 아키텍처에서 HTTP는 응용 프로그램 계층 프로토콜이며 TCP/IP 프로토콜의 최상위 계층에 위치합니다. HTTP는 상태 비저장 프로토콜입니다(웹 브라우저[클라이언트]와 웹 서버 간에 지속적인 링크가 필요하지 않음). 전체 프로세스는 클라이언트가 서버에 요청(Request)을 보내고, WEB 서버가 응답(Response)을 반환하는 것입니다. 그런 다음 링크가 닫혔습니다. HTTP는 요청/응답(Request/Response) 모델을 따르며 모든 통신 상호 작용은 일련의 요청 및 응답 모델로 구성됩니다.
HTTP에 의해 정의된 트랜잭션 처리는 다음 네 단계로 구성됩니다. 클라이언트와 웹 서버가 링크를 설정합니다.
클라이언트가 HTTP 요청을 보냅니다. 서버는 클라이언트 측에서 클라이언트 HTTP 요청을 수신하고 HTTP 응답 포스트백을 생성합니다.
클라이언트와 웹 서버 간의 링크를 설정합니다.
요청 정보를 보냅니다. 일단 TCP 링크가 설정되면 웹 브라우저는 웹 서버에 요청 명령을 보냅니다. HTTP 프로토콜은 클라이언트의 요청 정보를 요청 라인, 요청 헤더, 메시지 본문, 요청 헤더와 메시지 본문을 구분하는 빈 라인을 포함하는 HTTP 요청으로 캡슐화합니다.요청 라인: 요청 라인; 요청된 HTTP 메소드, 요청된 URL 및 HTTP 버전의 세 가지 태그로 구성되는 ASCII 텍스트 라인입니다. 공백으로 구분
HTTP 버전 1.1에서는 8가지 가능한 HTTP 요청 방법이 정의되어 있습니다.II POST: 데이터가 서버로 전송되며 지정된 URL 처리가 필요하므로
Ⅲ HEAD: GET 메서드와 동일하며 서버는 상태 줄과 헤더만 반환하고 요청을 반환하지 않습니다. document ;
IV PUT: 요청 데이터를 지정된 URL의 새 콘텐츠로 저장하도록 서버에 요청합니다.
Ⅴ DELETE: URL에 지정된 리소스를 삭제하도록 서버에 요청합니다. 서버에서 지원하는 메소드 정보
Ⅶ CONNECT: 문서화되었지만 현재 구현되지 않은 메소드로, 터널 처리용으로 예약되어 있습니다.
이 메소드 중에서 GET 및 POST 메소드가 가장 일반적으로 사용됩니다. 및 기타 여러 방법은 웹 개발자가 일반적으로 사용하지 않습니다. 메소드
는 이 메소드에 대한 요청입니다
POST
브라우저 주소 표시줄에 URL을 입력하세요.
현재 웹페이지에서 HTML 링크를 클릭하세요.양식의 방법을 설정하세요. HTML 양식 'GET'에 있거나 설정되지 않은 경우(기본값은 GET 메소드 제출)
GETGET
은 주로 비공개 메시지나 대용량 메시지를 보내거나 파일을 업로드할 때 사용됩니다. 애플리케이션이 데이터를 수정하거나 추가해야 하고 HTTP를 통해 요청을 보내야 하는 경우 POST 메서드를 사용해야 합니다.
요청 헤더:
HTTP 프로토콜은 HTTP 헤더를 사용하여 요청의 메타 정보를 전송합니다. /value는 콜론으로 구분됩니다. 예, 콜론 앞에는 HTTP 헤더 이름이 오고 그 뒤에는 HTTP 값이 옵니다. 일반적인 요청 헤더는 사용자 에이전트 정보, 허용되는 형식, 언어 및 콘텐츠 인코딩으로 구성됩니다. 이 정보는 클라이언트가 무엇인지, 클라이언트가 원하는 피드백 정보의 형식 등을 서버에 알려주는 데 사용됩니다.
빈 줄:
캐리지 리턴을 보내고 종료하여 더 이상 요청 헤더가 없음을 서버에 알립니다.
메시지 본문:
HTTP 요청에 쿼리 문자열이 포함되어 있고 GET 메서드이고 쿼리 문자열 또는 양식 데이터가 요청 줄에 추가되면 콘텐츠가 없습니다. 메시지 본문에 POST 메서드의 경우 쿼리 문자열이나 양식 데이터가 메시지 본문에 추가됩니다.
응답 메시지 보내기
웹 서버는 요청을 구문 분석하고 지정된 리소스를 찾아서 읽습니다. 파일 및 기타 정보를 HTTP 응답으로 클라이언트에 반환합니다. HTTP 응답에는 상태 줄, 응답 헤더, 메시지 본문, 메시지 헤더와 응답 헤더를 구분하는 빈 줄이 포함됩니다.
상태 줄:
모든 HTTP 응답은 상태 줄로 시작됩니다. 상태 줄은 공백으로 구분된 HTTP 프로토콜 버전, 응답 상태 코드, 응답 설명으로 구성됩니다.
응답 상태 코드는 3자리 숫자이며 다음 그룹으로 구분됩니다.
Ⅰ 100~199: 정보, 요청 수신, 계속 처리
Ⅱ 200~299: 성공, 해당 동작이 성공적으로 수락되고 이해되었으며 채택되었습니다.
Ⅲ 300~399: 리디렉션, 요청을 완료하려면 추가 작업을 수행해야 합니다.
IV 400~499: 클라이언트 오류, 요청에 구문 오류가 포함되어 있거나 요청을 구현할 수 없습니다.
Ⅴ 500~599: 서버 오류, 서버가 명백히 잘못된 요청을 구현할 수 없습니다.
응답 상태 코드에는 모두 관련 문자열 응답 설명이 있습니다.
응답 헤더:
요청 헤더와 마찬가지로 응답 헤더도 콜론으로 구분된 이름/값 쌍입니다. 콜론 앞에는 HTTP 헤더 이름이 옵니다. HTTP 헤더의 값입니다. 일반적인 응답 헤더에는 콘텐츠 설명, 콘텐츠 길이, 타임스탬프, 서버 정보 및 콘텐츠가 마지막으로 수정된 시간이 포함됩니다. 이 정보는 클라이언트가 전송된 콘텐츠, 콘텐츠 크기, 데이터가 이전 응답보다 최신인지 여부를 파악하는 데 도움이 됩니다.
응답 헤더 중 가장 중요한 HTTP 헤더는 MIME 유형을 지정하는 Content-Type입니다. MIME 유형은 브라우저에 어떤 유형의 데이터를 허용할지 알려주므로 브라우저는 데이터를 표시하는 방법을 알 수 있습니다. 이 값은 일반적으로 HTTP 요청 헤더
의 Accept와 연결됩니다. 빈 줄:
마지막 응답 헤더 뒤에는 빈 줄이 오고, 캐리지 리턴과 백스페이스가 표시됩니다. 다음에는 더 이상 응답 헤더가 없습니다.
메시지 본문:
클라이언트에게 전송할 HTML 문서 또는 표시할 기타 콘텐츠 등 웹 서버는 클라이언트에게 전송된 문서 정보를 메시지 본문에 넣습니다.
연결 종료
HTTP 응답이 클라이언트에 도달한 후 브라우저는 먼저 HTTP 응답의 상태 줄을 구문 분석하여 요청 성공 여부에 대한 상태 코드를 확인합니다. 그런 다음 각 응답 헤더를 구문 분석하고, 응답 메시지 본문을 읽고, 브라우저 페이지에 메시지 본문을 렌더링합니다.
HTML 문서에는 로드해야 하는 다른 리소스가 포함될 수 있습니다. 브라우저는 이를 식별하고 이러한 리소스에 대한 추가 요청을 수행하며 모든 데이터가 응답 헤더에 포함될 때까지 계속 반복될 수 있습니다. 형식이 페이지에 복원됩니다. 데이터 전송이 완료된 후 서버는 상태 비저장 프로토콜인 연결을 닫습니다.