2022. 3. 15. 15:04ㆍ코딩/TIL
1. 비연결성
HTTP의 특징 - stateless (클라이언트의 이전 정보를 기억하지 않고, 클라이언트의 요청이 들어오면 그 요청에 대한 응다배주고 바로 연결을 끊어버림)
비연결성의 장점 - 클라이언트의 기존 정보를 포함하고 있지 않으니 서버 과부하가 걸리지 않는다. 서버 자원의 효율적 사용
비연결성의 단점 - 클라이언트가 웹 브라우저를 요청하면 서버는 HTML만 보내는게 아니라 CSS,JS,이미지파일 등 다양한 형식의 것들을 보내는데이 자원을 하나하나 받을때마다 연결하고 다시 끊고 하면 비효율적
=> HTTP는 기본적으로 지속연결을 한다.
2. HTTP 메시지
위에서도 언급했듯이 HTTP는 텍스트,이미지,음성 파일 등 바이너리 형식의 데이터를 모두 다 보낸다.
HTTP 요청 메시지와 HTTP 응답 메시지의 형식은 서로 다르다.
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 |