HTTP란?
- 프로토콜(Protocol) : 클라이언트와 서버 간에 자료를 주고 받을 때 미리 약속된 규칙
- 웹에서는 HTTP(Hyper Text Transfer Protocol)라는 프로토콜을 사용함
- HTTP 요청(HTTP request) : 클라이언트에서 서버로 자료 요청
- HTTP 응답(HTTP response) : 서버에서 응답해서 클라이언트로 자료를 보냄
요청 헤더와 응답 헤더
클라이언트에서 사이트 주소를 입력하고 [Enter]를 누를 때
- 사이트 주소뿐만 아니라 사용 중인 시스템 정보와 웹 브라우저 정보, 사용한 언어 등 다른 정보까지 함께 전송됨
→ 서버로 요청할 때 보내는 헤더를 ‘요청 헤더(request header)’라고 한다.
서버에서 입력한 사이트를 찾아서 클라이언트로 보낼 때
- ‘응답 헤더(response header)’ : 응답 메시지를 보내는 시간, 메시지를 클라이언트에 어떻게 표시할지 등의 정보가 담김
- ‘응답 본문 (response body)’ : 이미지나 텍스트 같은 실제 사이트 내용을 담아서 전달
요청 방식, GET과 POST
요청 헤더에 있는 여러 정보 중에서 주의해서 볼 것은 요청 방식!
- 파이어폭스 웹 브라우저의 네트워크 창에는 GET이나 POST같은 요청 방식이 함께 표시됨
GET 방식
- 서버에 자료를 요청할 때, 사이트 주소 뒤에 자료를 붙여서 보내는 방식
- GET을 사용하면 웹 브라우저의 주소 표시줄에 요청 메시지가 함께 표시되고 요청 본문은 따로 사용하지 않음
- 서버로 사이트 주소를 보내면서 요청 자료도 함께 공개되기 때문에,이렇게 요청 자료가 무엇인지 공개되더라도 문제가 없을 경우 사용하는 방식임
(예) 구글 사이트에서 ‘자바스크립트’를 검색한다면 웹 브라우저에서 서버로 보내는 요청 헤더에 GET 메서드 사용함
POST 방식
- POST를 사용하면 요청 내용이 겉으로 드러나지 않고 요청 본문(request body)에 따로 담아서 보냄
응답 상태
- 클라이언트의 요청을 받은 서버가 필요한 작업을 처리하고 그 결과를 클라이언트로 보낼 때 서버로 요청한 것이 성공적으로 처리되었는지, 또는 요청한 파일이 없어서 실패했는지 등을 응답 상태를 ‘상태’ 칼럼에 숫자로 표시함
- 서버에서 자료를 받아 프로그래밍할 때는 응답 상태를 확인한 후 진행함
상태 | 메시지 | 기능 |
2xx : 자료 요청을 수락했거나 자료 전송이 성공적으로 끝난 경우 | ||
200 | OK | 서버에서 클라이언트로 성공적으로 전송했음 |
202 | Accepted | 서버에서 클라이언트 요청을 수락했음 |
4xx : 클라이언트에서 주소를 잘못 입력했거나 요청이 잘못되었음 | ||
400 | Bad Request | 요청을 실패했음 |
401 | Unauthorized | 권한이 없어 거절됨, 인증 가능함 |
403 | Forbidden | 권한이 없어 거절됨, 인증을 시도해도 계속 거절됨 |
404 | Not Found | 문서를 찾을 수 없음 |
408 | Request Timeout | 요청 시간이 초과됨 |
50x : 서버측의 오류로 처리할 수 없음 | ||
500 | Internal Server Error | 서버 내부에 오류가 발생함 |
503 | Service Unavailable | 요청한 서비스를 이용할 수 없음 |
'언어 > 자바스크립트(Java Script)' 카테고리의 다른 글
[자바스크립트] 예외 처리 (0) | 2024.08.06 |
---|---|
[자바스크립트] JSON (0) | 2024.08.06 |
[자바스크립트] 이터레이터 & 제너레이터 (0) | 2024.08.06 |
[자바스크립트] Map & Set (0) | 2024.08.06 |
[자바스크립트] 구조 분해 할당 (0) | 2024.08.06 |
댓글