Java面试 -- Http

本文详细介绍了HTTP协议在Java面试中的重要知识点,包括HTTP请求的组成部分如请求行、请求头、实体内容,以及HttpServletRequest对象的使用。还讨论了HTTP响应的状态码、响应头以及HttpServletResponse对象设置响应信息的方法。内容涵盖了GET和POST请求的区别,以及如何处理请求参数的编码问题。
摘要由CSDN通过智能技术生成

一、什么是HTTP

http 使得Web服务器浏览器客户端之间(可以通过互联网或内网进行数据交互)的数据传输格式规范 。

Web服务器每天24小时不间断运行,并等待HTTP客户端(通常是Web浏览器)来连接并请求资源。通常,客户端发起一个连接,服务端不会主动连接客户端。

互联网用户需要通过点击连接或者输入一个URL(Uniform Resource Locator,统一资源定位符)地址来访问一个资源。

HTTP的URL格式:

protocal://[host.]dmain[:port][/context][/resourse][?query  string | path variable]

或者protocal://IP Address [:port][/context][/resourse][?query  string | path variable]

二、Http 请求  

浏览器  向 ——>  服务器  发出请求。

一个请求一定会有且仅有一个响应返回。

一个http请求包括3部分内容:

1.方法 -- URL-- 协议/版本

2.请求投信息

3.请求正文

请求(浏览器-》服务器)

GET /day09/hello HTTP/1.1

Host: localhost:8080

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-cn,en-us;q=0.8,zh;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

Connection: keep-alive

三、HTTP响应

响应(服务器-》浏览器)

HTTP/1.1 200 OK

Server: Apache-Coyote/1.1

Content-Length: 24

Date: Fri, 30 Jan 2015 01:54:57 GMT

 

this is hello servlet!!!

3 Http请求

GET /day09/hello HTTP/1.1               -请求行

Host: localhost:8080                    --请求头(多个key-value对象)

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-cn,en-us;q=0.8,zh;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

Connection: keep-alive

                                    --一个空行

name=eric&password=123456             --(可选)实体内容

 

              3.1 请求行

                            GET /day09/hello HTTP/1.1    

              #http协议版本

                   http1.0:当前浏览器客户端与服务器端建立连接之后,只能发送一次请求,一次请求之后连接关闭。

                   http1.1:当前浏览器客户端与服务器端建立连接之后,可以在一次连接中发送多次请求。(基本都使用1.1)

 

              #请求资源

                                     URL:  统一资源定位符。http://localhost:8080/day09/testImg.html。只能定位互联网资源。是URI                                                         的子集。

                                     URI: 统一资源标记符。/day09/hello。用于标记任何资源。可以是本地文件系统,局域网的资源(//192.168.14.10/myweb/index.html),                                                   可以是互联网。

              #请求方式

                            常见的请求方式: GET 、 POST、 HEAD、 TRACE、 PUT、 CONNECT 、DELETE 

 

                            常用的请求方式: GET  和 POST     

 

                            表单提交:

                                     <form action="提交地址" method="GET/POST">

 

                                     <form>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值