카테고리 없음
[Network] HTTP 시작, header, body
321
2021. 5. 27. 10:34
HTTP시작라인
- 요청라인(시작라인) : 예시 ) GET /user/test.htm HTTP/1.1
- GET | POST | PUT | DELETE 사용가능
- 상태라인(시작라인) 예시 ) HTTP/1.1 200 OK
- 1xx : Informational - 임시적인 응답 계속진행하라는 의미
- 2xx : Success - 성공적으로 수신, 해독됨
- 3xx : Redirection - 추가 동작 필요
- 4xx : Client Error - 메시지 내용자체가 잘못됨, 금지된 영역에 대한 접근요청 등
- 5xx : Server Error - 메시지내용은 이상x , 서버 쪽 사정에 의해 메시지처리에 문제 생김
HTTP 헤더
기본형태 - 필드이름 : 필드값 <CR><LF>
- Accept :
- 클라이언트에서 사용가능한 미디어타입(요청메시지에만 사용 가능)
- ex) Accept : Audio
- Accept-Charset :
- 응답메시지에 사용될 수 있는 문자코드
- Accept-Encoding :
- 웹브라우저에서 인식할 수 있는 코딩방식
- Accept-Language :
- 웹브라우저에서 인식할 수 있는 언어
- Allow :
- 웹문서에서 사용가능한 HTTP메서드
- ex) Allow : GET, HEAD, PUT
- Content-Encoding :
- 메시지의 바디 부분에 사용된 코딩 방식
- ex) Content-Encoding : gzip
- Content-Length :
- 메시지 바디의 크기를 수신 측에게 바이트단위로 알려준다.
- ex) Content-Length : 4021
- Date :
- 메시지 생성된 시각
- ex) Date :
- Expires :
- 응답 메시지의 유효기간
- ex) Expires :
- From :
- 요청 메시지를 보낸 사용자의 Email
- ex) From : example@gnail.com
- Host :
- 웹브라우저가 요청하는 자원이 들어있는 호스트(서버), HTTP 1.1로 동작하면 반드시 포함되는 헤더
- ex) Host : www.ddd.com
- 요청 시작라인의 /user/test.htm와 합쳐짐 ==> www.ddd.com/user/test.htm
- If-Modified-Since :
- 웹브라우저가 요구하는 웹문서에 대해 이 헤더에 지정되어 있는 시각 이후에 수정된 경우에만 다시 제공해 준다.
- 요청메시지에만 포함될 수 있는 헤더
- 지정시각 이후에 변경되지 않은 웹문서는 304 응답코드만 웹브라우저에 보냄
- ex) If-Modified-Since : Thu, 21 April 2021 14:00:00 GMT
- Location
- 서버는 클라이언트의 HTTP요청에 들어있는 Request-URI의 위치가 다른 주소로 이동되었을 경우 이동된 위치를 이 헤더에 넣어서 보내준다.
- 클라이언트(웹브라우저)는 이 헤더를 보고 새로운 주소로 다시 HTTP연결을 시도할 수 있다.
- ex) Location : http://www.ddd.co.kr/pub/users/new.htm
- Server
- 현재 서버가 사용하는 웹서버소프트웨어에 대한 정보를 담고 있다.
- 응답메시지에만 포함될 수 있는 헤더
- ex) Server : Apache/4.0
- User-Agent
- 사용자의 웹브라우저에 대한 정보를 나타낸다
- ex) User-Agent : MSIE/9.0 (마이크로소프트 Internet Explorer 9.0)
- WWW-Authenticate
- Authorization헤더와 함께 사용되어 HTTP보안을 위한 인증기능 제공.
참고 : TCP/IP기초와 JAVA/C#을 활용한 네트워크 프로그래밍 (카오스북)