800字带你弄懂Http请求和响应
Hello ,我是小索奇,今天给大家分享一下计算机网络中的请求和响应,这些在javaWeb中也是必不可少的哈
HTTP请求包(Request)
- 请求行(Request Line):
包含请求方法、要访问的网址及其参数、http协议版本号等。
例如:
GET /index.html HTTP/1.1
- 请求头部(Request Header):
包含客户端环境信息、浏览器信息等,同时还可以有各种各样的令人费解的参数。
例如:
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
- 空行(Blank Line):
请求头部和请求数据之间必须存在一个空行,这行很安静,什么也不说。
- 请求数据(Request Body):
通常包含表单数据等,如果是传输文件,那这里就是二进制数据了。
HTTP响应包(Response)
- 状态行(Status Line):
包含HTTP协议版本号、状态码、状态描述等,其中状态码能够提供一些非常形象的反馈。
例如:
HTTP/1.1 200 OK
- 响应头部(Response Header):
包含响应数据的类型、长度、编码格式等,同时还有各种神奇的头像头像,比如“server”、“etag”等等。
例如:
Content-Type: text/html; charset=UTF-8
Server: Apache
Content-Length: 1234
- 空行(Blank Line):
响应头部和响应数据之间必须存在一个空行,这行同样很安静,但它传递着无数信息。
- 响应数据(Response Body):
服务器返回给客户端的具体内容,比如网页HTML代码、图片文件等
大家有任何疑问或者想要了解的内容、需要小索奇改进的地方都可以评论区留言哈~