본문 바로가기
언어/자바스크립트(Java Script)

[자바스크립트] HTTP/HTTPS

by 골절문간신배신 2024. 8. 6.

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 요청한 서비스를 이용할 수 없음

 

댓글