주로 웹! 하면 가장먼저 생각나는 프로토콜이다
TCP/IP 4계층에서 애플리케이션 계층에 해당하는 프로토콜이다
통신구조는 다음과 같다
그렇다면 이 프로토콜이 갖는 특징 세가지를 간략하게 알아보자.
1. 무연결
간단하게 말해서 클라이언트의 요청에대해서 응답을 하면 연결이 종료된다.
즉 클라이언트의 하나의 요청마다 통신하는 방법이다
2. 무상태
기본적으로 상태정보가 유지되지 않는 특성으로 이것을 무상태라고 합니다.
첫번째 요청에서 얻은 결과를
두번째 요청에 당연히 갖고있지 않는다것이다.
그렇다면 이를 위해서 상태정보를 저장하는 기술이 있다. (쿠키&세션 등)
3. 요청 & 응답
위의 사진이 표현하는바이다.
HTTP 요청정보란? (HttpRequest)
Http 요청정보는 간단하게 요청하면 바로 만들어진다(?)
즉, 클라이언트가 서버에 서비스를 요청하면 HTTP프로토콜에 의하여 자동으로 만들어져
서버에 전달된다
C ----- HTTP ------ S
이때 요청은 클라이언트가 URL에 주소를 입력하여 엔터를 치거나
링크를 누르던가 다양하게있다.
힘들게 그림으로 설명해보자면.
다음과 같은 구조이다.
위에서 설명안한 URI는
http://1.1.1.1:80/abc 이렇게 나올수도있고 도메인이있다면,
http://www.abc.com:80/abc이렇게 나올수도 있다.
abc는 서버의 자원정보로 웹프로젝트를 생성하고 배포할때 그녀석이다
(단 ,브라우저상에서는 80번포트는 생략해도 입력이된다)
(http 포트번호가 80번이다 ㅇㅅㅇ;)
HTTP 응답정보란? (HttpResponse)
헤더에는 클라이언트의 요청에대한 실행 결과를
클라이언트가 올바르게 처리할 수 있게 하기위한 정보들로 구성되어있는데
내기억으론 아마 HttpResponse의 몸체(바디)에
html의 태그들이 있는데 이는 클라이언트의 브라우저가 읽어들인다
<table>
..
</table>
이런것들이 말이다.
크롬 개발자모드로 아무사이트에서 확인할수도있는데
여기서 상태 코드값이 200인데
간단하게
200 : 요청 성공
403 : 권한 문제
404 : 요청에 대한 것이 존재하지 않음
500 : 서버에러
이정도만 알아두고 모르는건 구글해보자
끝.
'개발 > java' 카테고리의 다른 글
람다식 사용법에 대해서 알아보자 (1) | 2021.04.12 |
---|---|
기본입출력으로 파일 복사하기 (0) | 2021.04.04 |
String 클래스의 메소드를 몇가지 알아보자 (0) | 2021.03.27 |
컬렉션 프레임 워크 (0) | 2021.03.18 |
ArrayList 과 제네릭 (0) | 2021.03.18 |