220315 TIL

2022. 3. 15. 15:04코딩/TIL

1. 비연결성 

HTTP의 특징 - stateless (클라이언트의 이전 정보를 기억하지 않고, 클라이언트의 요청이 들어오면 그 요청에 대한 응다배주고 바로 연결을 끊어버림) 

 

비연결성의 장점 - 클라이언트의 기존 정보를 포함하고 있지 않으니 서버 과부하가 걸리지 않는다. 서버 자원의 효율적 사용 

비연결성의 단점 - 클라이언트가 웹 브라우저를 요청하면 서버는 HTML만 보내는게 아니라 CSS,JS,이미지파일 등 다양한 형식의 것들을 보내는데이 자원을 하나하나 받을때마다 연결하고 다시 끊고 하면 비효율적 

=> HTTP는 기본적으로 지속연결을 한다. 

 

2. HTTP 메시지

위에서도 언급했듯이 HTTP는 텍스트,이미지,음성 파일 등 바이너리 형식의 데이터를 모두 다 보낸다.

HTTP 요청 메시지와 HTTP 응답 메시지의 형식은 서로 다르다. 

출처 http://www.ktword.co.kr/test/view/view.php?m_temp1=4884

HTTP 요청 메시지 

    HTTP 요청 메소드 : GET,POST,HEAD,PUT,DELETE 등(중요)

    요청 URI : / (경로) 이후 상대 경로를 주고 이를 텍스트 문자열로 표기한다. /section/page.html?page=1 등 

    / 를 통해 문서 경로, ? 쿼리 파라미터, # URI 프래그먼트로 구분자를 사용한다.

    HTTP 버전 : HTTP/1.1 등 HTTP 버전을 나타낸다. 

GET / HTTP/1.1          // 요청 행 (메소드,웹페이지 디렉토리,버젼)
Host: www.ktword.co.kr  // 호스트명
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4
User-Agent: Mozilla/5.0 (...) // 웹브라우저

 

HTTP 응답 메시지

    Status line 중요 (상태 행)

    HTTP 버전 

    요청 성공여부에 대한 코드(중요) > 클라이언트에게 성공 여부를 보낸다

    1xx 처리중 2xx 성공 3xx 리다리렉션 4xx 클라이언트오류 5xx 서버오류 

    주로 200 OK : 요청 성공을 나타내고 400 Bad Request 요청 오류를 나타낸다(+404) 

HTTP/1.1 200 OK        // 응답 행 (버젼,응답 코드)
Connection: Keep-Alive
Content-Length: 6330
Content-Type: text/html
Date: Fri, 03 Apr 2015 07:27:57 GMT
Keep-Alive: timeout=5, max=100
Server: Apache/2.2.16 (Win32) PHP/5.3.13
X-Powered-By: PHP/5.3.13

둘 다 헤더는 이름 : 값 으로 설정된다. 

blank line이 무엇인가 했더니 헤더의 끝을 의미한다. 

'코딩 > TIL' 카테고리의 다른 글

220318 TIL  (0) 2022.03.18
220316 TIL  (0) 2022.03.16
220311 TIL  (0) 2022.03.11
220308 TIL  (0) 2022.03.08
220302 TIL  (0) 2022.03.08